【问题标题】:Shell Script - Alert if netstat output does not exal 0 for all linesShell 脚本 - 如果所有行的 netstat 输出不为 0,则发出警报
【发布时间】:2017-03-22 19:05:42
【问题描述】:

如何查看 netstat -an 结果中第三列的输出,如果任何行不等于 0,则发出警报。

举例

netstat -an|grep 100|awk '{print $3}'
0
0
0
2322
0
0
4344
0

应该是"Alert, netstat is showing 2 numbers greater than zero"

如果任何行不是 0,我只是想提醒一下。

谢谢!

【问题讨论】:

  • 添加 | grep -vc '^0$' 将为您提供感兴趣的行数。

标签: bash shell netstat


【解决方案1】:

结合AlexP的回答,你会得到:

if [ $(netstat -an|grep 100|awk '{print $3}' | grep -vc '^0$') -ge 2 ]; then
    echo "Alert, netstat is showing 2 numbers greater than zero"
fi

【讨论】:

  • 谢谢@unwastable!如果输出为 1 个或更多,我该如何获取它发送警报?所有连接都应为 0。感谢您的回答!
  • -ge 一个比较运算符,允许您检查输出是否大于某个数字。如果您想要 1 或更多,请使用 -ge 1
  • 感谢@Unwastable,这正是我所需要的!
猜你喜欢
  • 2013-11-14
  • 2013-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
相关资源
最近更新 更多