shell脚本监测CPU使用率,当CPU空闲的时候发邮件给834819659@qq.com
时间: 2023-05-17 13:06:31 浏览: 120
可以使用以下的 shell 脚本来监测 CPU 使用率,并在 CPU 空闲时发送邮件给 834819659@qq.com:
```
#!/bin/bash
# 设置阈值,当 CPU 使用率低于该值时发送邮件
THRESHOLD=10
# 获取当前 CPU 使用率
CPU_USAGE=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}')
# 判断 CPU 使用率是否低于阈值
if [ $(echo "$CPU_USAGE < $THRESHOLD" | bc) -eq 1 ]; then
# CPU 空闲,发送邮件
echo "CPU 空闲,发送邮件"
echo "This is the body of the email" | mail -s "CPU 空闲" 834819659@qq.com
else
# CPU 使用率高,不发送邮件
echo "CPU 使用率高,不发送邮件"
fi
```
该脚本使用 top 命令获取当前 CPU 使用率,并使用 awk 命令提取出 CPU 使用率的数值。然后,使用 bc 命令判断 CPU 使用率是否低于阈值。如果低于阈值,则发送邮件给 834819659@qq.com。如果高于阈值,则不发送邮件。
相关问题
shell脚本10秒一次监测CPU使用率,当CPU不空闲继续检测,当CPU空闲的时候发邮件给834819659@qq.com
可以使用以下的 shell 脚本来实现:
```
#!/bin/bash
while true
do
# 获取当前 CPU 使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
# 如果 CPU 使用率大于 90%,则继续监测
if (( $(echo "$cpu_usage > 90" | bc -l) )); then
sleep 10
else
# 如果 CPU 使用率小于等于 90%,则发送邮件
echo "CPU 使用率已经降低,发送邮件给 834819659@qq.com"
echo "CPU 使用率:$cpu_usage" | mail -s "CPU 使用率降低" 834819659@qq.com
break
fi
done
```
这个脚本会每 10 秒钟检测一次 CPU 使用率,如果 CPU 使用率大于 90%,则继续监测,如果 CPU 使用率小于等于 90%,则发送一封邮件给 834819659@qq.com,邮件的主题是 "CPU 使用率降低",邮件内容包含当前的 CPU 使用率。
shell脚本10秒一次监测CPU使用率,当CPU不空闲继续检测,当CPU超过3次检测都是空闲时发送邮件给834819659@qq.com
可以使用以下shell脚本实现:
```bash
#!/bin/bash
# 设置监测间隔为10秒
interval=10
# 设置连续空闲次数
idle_count=0
# 设置最大连续空闲次数
max_idle_count=3
# 设置邮件接收地址
email=834819659@qq.com
while true; do
# 获取CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
# 判断CPU是否空闲
if (( $(echo "$cpu_usage < 100" | bc -l) )); then
idle_count=$((idle_count+1))
else
idle_count=0
fi
# 判断是否连续空闲超过最大次数
if (( idle_count >= max_idle_count )); then
# 发送邮件
echo "CPU已连续空闲${max_idle_count}次,可能出现问题,请及时处理!" | mail -s "CPU空闲警告" $email
# 重置计数器
idle_count=0
fi
# 等待一段时间后再次检测
sleep $interval
done
```
这个脚本会每10秒检测一次CPU使用率,如果连续3次都是空闲状态,就会发送一封邮件到指定的邮箱地址。
阅读全文