这可以通过以下 shell 脚本和频繁的 cron 作业来完成。
cpu_monitor.sh
CPU=$(sar 1 5 | grep "Average" | sed 's/^.* //')
if [ $CPU -lt 20 ]
then
cat mail_content.html | /usr/lib/sendmail -t
else
echo "Normal"
fi
Run Code Online (Sandbox Code Playgroud)
邮件内容.html
From: donotreply@sample.com
To: info@sample.com
Subject: Subject of the mail
Mime-Version: 1.0
Content-Type: text/html
<h1>CPU usage increased heigh</h1>
Run Code Online (Sandbox Code Playgroud)
这里脚本将每 1 秒获取一次 CPU 理想百分比。并且将采取5个样品。然后该理想百分比的平均值将传递给变量CPU。当理想低于 20% 的邮件将被发送。
我们可以设置持续时间为 5 分钟的 cron。
*/5 * * * * cd /full/path/to/script/; ./cpu_monitor.sh;
Run Code Online (Sandbox Code Playgroud)