shell脚本每隔20秒钟检测CPU使用率,如果连续5次都是空闲时发送邮件给834819659@qq.com并关机,如果不空闲就一直重复下去检测
时间: 2023-05-20 17:00:49 浏览: 166
shell脚本,通过snmp方式获取远程服务器的CPU内存和硬盘的使用率
可以使用如下的 shell 脚本实现:
```bash
#!/bin/bash
# 设置检测的次数和间隔时间
count=5
interval=20
# 循环检测 CPU 使用率
while true; do
# 获取当前 CPU 使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $8}' | cut -d '.' -f 1)
# 如果 CPU 使用率小于等于 20%,则计数器加 1,否则重置计数器
if [ $cpu_usage -le 20 ]; then
count=$((count-1))
else
count=5
fi
# 如果计数器为 0,则发送邮件并关机
if [ $count -eq 0 ]; then
echo "CPU 使用率连续 $count 次小于等于 20%,将发送邮件并关机。"
# 发送邮件的命令
echo "邮件内容" | mail -s "邮件主题" 834819659@qq.com
# 关机的命令
shutdown -h now
fi
# 等待一段时间后再次检测
sleep $interval
done
```
这个脚本会不断地检测 CPU 使用率,如果连续 5 次都小于等于 20%,则会发送邮件并关机。你可以根据需要修改邮件内容和主题,以及关机的时间。
阅读全文