我创建了.sh文件来grep日志中的特定单词,并将邮件发送到特定的emailID(设置Cronjob每1小时运行一次该脚本)。它按预期工作,但问题是如果没有错误,我也收到空邮件。在Linux中使用shell脚本监控日志并发送警报邮件
需要获取邮件,如果我们发现错误和DBError文件有内容。请帮助我解决这个问题。
#!/bin/bash
if [ ! -e DBErrors ] ; then
grep "sqlException" /opt/apps/cms/logs/cms-runtime.log > DBErrors
mail -s "ALERT: sqlException" [email protected] < DBErrors
else
comm -23 <(grep "sqlException" /opt/apps/cms/logs/cms-runtime.log) DBErrors | mail -s "ALERT: sqlException" [email protected]
grep "sqlException" /opt/apps/cms/logs/cms-runtime.log > DBErrors
fi
感谢 贾亚拉姆
你的意思是你需要在'if'块或者'else'中发送一封邮件吗? – MarcoS