帮我写个监听LInux中VIRT使用超90%就发警告邮件及写个监听Log中10分钟内固定内容出现超10次也发邮件的监听sh脚本
时间: 2024-03-13 18:47:44 浏览: 95
以下是一个监听 Linux 中 VIRT 使用超过 90% 并发送警告邮件的 shell 脚本:
```bash
#!/bin/bash
while true
do
# 获取 VIRT 使用率最高的进程
pid=$(ps -eo pid,rss,vsize,cmd --sort=-%mem | head -n 2 | awk '$2>90*1024*1024 {print $1}')
if [ -n "$pid" ]; then
# 发送警告邮件
echo "VIRT usage of process $pid is over 90%!" | mail -s "Warning: VIRT usage" your_email@example.com
fi
# 休眠 1 分钟
sleep 60
done
```
使用方法:
1. 将上述代码保存为 `virt_monitor.sh` 或其他你喜欢的名字。
2. 将脚本文件复制到 CentOS 系统中。
3. 在终端中进入脚本所在目录。
4. 运行脚本:`./virt_monitor.sh`
脚本会不断地检查 VIRT 使用率最高的进程,如果有进程的 VIRT 使用率超过 90%,就发送一封警告邮件到指定邮箱。
以下是一个监听日志中 10 分钟内出现固定内容超过 10 次并发送警告邮件的 shell 脚本:
```bash
#!/bin/bash
log_file=/var/log/messages
keyword="error"
while true
do
# 获取最近 10 分钟内日志中出现关键字的次数
count=$(grep "$keyword" $log_file | grep -c "$(date --date='10 minutes ago' '+%b %d %H:%M')")
if [ $count -gt 10 ]; then
# 发送警告邮件
echo "Keyword '$keyword' appeared $count times in the last 10 minutes in $log_file!" | mail -s "Warning: Log monitoring" your_email@example.com
fi
# 休眠 1 分钟
sleep 60
done
```
使用方法:
1. 将上述代码保存为 `log_monitor.sh` 或其他你喜欢的名字。
2. 将脚本文件复制到 CentOS 系统中。
3. 在终端中进入脚本所在目录。
4. 运行脚本:`./log_monitor.sh`
脚本会不断地检查日志文件中最近 10 分钟内出现关键字的次数,如果超过 10 次,就发送一封警告邮件到指定邮箱。注意,需要将 `log_file` 和 `keyword` 变量修改为实际的值。
阅读全文