网站需要定时更新计划任务调度php去产生更新数据,如果php不能被更新调度产生数据那么报警,前提是php页面能正常被访问到,通过curl等去触发一下,类似于激活php程序。
shell脚本:
apache编码两种不同 一种直接curl可以获得到页面信息,另外一种需要转字符集编码。
A)
while read i
do
GET_REPORT=$(curl $i | grep [成功])
if [ "$?" -eq "0" ]
then
echo "OK"
else
/wwwroot/baojing/fetion --mobile=15956xxxx --pwd=254605 --to=15956xxxx --msg-utf8="$i is DOWN!"
fi
done<0.txt
B)
while read i
do
if curl $i|grep -q "成功"
then
echo ok
else
/wwwroot/baojing/fetion --mobile=15956xxx --pwd=254605 --to=159569xxxx --msg-utf8="$i is DOWN!"
fi
done<0.txt
A)和 B)两种用法匹配应该是有区别的但是我在测试的没发现区别,[成功] 这里应该grep的结果里绝对的只允许成功二字才算正确,"成功" 这里匹配的结果包含 成功 即可算正确的。
注释:0.txt 这个文件里是php的url 要激活这些url产生数据更新。因为我去激活php程序化那么php页面会出现成功的关键字。我根据页面的提示来匹配,匹配不到关键字就报警。
下面这种是需要转换字符集编码的:
while read i
do
if curl $i |iconv -f gb2312 -t utf-8|grep -q "OK"
then
echo ok
else
/wwwroot/baojing/fetion --mobile=159569xxxx --pwd=254605 --to=159569xxxx --msg-utf8="$i is DOWN!"
fi
done<1day.txt
注释:1day.txt 这个文件里是每天需要定时激活的php url。
(注释:/wwwroot/baojing/fetion --mobile=159569xxxx --pwd=254605 --to=159569xxx --msg-utf8="$i is DOWN!" 这个地方是飞信的路径,通过飞信来实时报警到手机的。)
再把这个脚本的执行路径放到crontab里设置定时执行即可(脚本和*.txt为同一目录)。
基于飞信对系统计划任务crontab报警监控
原创
©著作权归作者所有:来自51CTO博客作者liang3391的原创作品,谢绝转载,否则将追究法律责任
上一篇:shell+飞信实现网站监控
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
linux系统计划任务
linux系统计划任务/etc/crontab cron的主配置文件,可以定义PATHcron格式如下:# .----------------分钟 (0 - 59)# | .------------- 小时 (0 - 23)# | | &n
linux service 配置文件 command status -
ubuntu 的 crontab 计划任务
写脚本的时候 需要开机定时执行,就用了crontab 关于crontab的编写 网上一
解决方法 root用户 绝对路径 -
Linux基础-crontab计划任务
Linux系统中使用crontab命令来管理计划任务,主要有:查看计划任务列表,编辑计划任务,清除计划任务。
linux crontab 计划任务