cpu= $(mpstat | awk '$12 ~ /[0-9.]+/ { printf("%d%%",100 - $12) }' | cut -d. -f1)
如何避免数字输出?
将字符串与数字进行比较时%
失败。
不要将%
放在awk
输出中。在创建电子邮件时添加它。您还可以使用 awk 的int()
函数从输出中删除分数,而不是通过管道连接到cut
。
此外,请确保cpu
分配中的=
周围没有任何空格。
cpu=$(mpstat | awk '$12 ~ /[0-9.]+/ {print int(100 - $12) }')
if (( $cpu > 5 ))
then mail -s "CPU Utilization monitoring" "xxx@yyy.com" <<EOF
CPU Utilization is exceeded in Ec2-user Server.
Current use is $cpu%.
EOF
fi