我正在寻找shell脚本来发送顶级进程作为电子邮件时,监视CPU的平均负载超过20我正在运行RedHat 6。
uptime | awk '$NF >= 20 { system("top -cSb n 1") }' \ | tail -n +8 | sort -rn -k11 | head \ | mail -s "PROBLEM Service Alert: load_fifteen is CRITICAL" email@domain
NF
代表字段数。 $NF
获得最后一个字段的值。 这是过去15分钟的系统平均负载 top -b
以批处理模式运行,用于将输出发送到stdout tail -n +8 | sort -rn -k11 | head
tail -n +8 | sort -rn -k11 | head
:删除标题,然后按CPU时间sorting,并获得最高的进程。