程序每天都会产生warn,我们不能及时的监控到问题,下面我来写一个shell脚本监控warn日志,如果有warn日志就发送邮件通知
首先我们定义一个配置文件:vi config.ini
在配置文件中配置一些参数
#收件人(只能有一个)
recipient=email@vinmacro.com.cn
#抄送(可以有多个,以逗号分隔)
cc=email@vinmacro.com.cn
#包含字段d(多个以逗号分隔)
include_fields=exception,ERROR
#不包含字段(多个以逗号分隔)
not_contains_fields=aaa,bbb
#间隔时间/分钟
interval_time=1
#warn最大行数
warn_max_line=100
#info最大行数
info_max_line=10
#文件路径
info_file_path=/root/gateway.log
#warn文件路径
warn_file_path=/root/gateway-warn.log
然后新建一个文件:vi monitor-log.sh
#vim monitor-log.sh
#!/bin/bash
config_path=/root
front_time=`date +"%Y-%m-%d %H:%M:%S"`
while :;do
interval_time=$[$(cat ${config_path}/config.ini|grep interval_time | awk -F'=' '{ print $2 }' | sed s/[[:space:]]//g)*60]
after_time=`date +"%Y-%m-%d %H:%M:%S"