web环境自动监控脚本

web环境

ngnix、php-fpm

监控思路

使用linux定时任务,每分钟运行一次监控脚本,使用wget检测程序是否正常,如果程序异常,获取ngnix主进程号,kill掉进程之后再启动;获取php-fpm主进程号,kill掉进程之后再启动

监控脚本

创建文件monitor.sh

 1 #!/bin/sh
 2 wget --spider -t 1 -T 2 http://127.0.0.1:53727 -q
 3 if [ $? -ne 0 ]
 4 then
 5     ngnixpid=`ps aux|grep 'nginx: master'|grep -v grep|awk '{print $1}'`
 6     if [ -n "$ngnixpid" ]
 7     then
 8         kill -INT $ngnixpid        
 9     fi    
10     /ngnix/ngnix &
11     phppid=`ps aux|grep 'php-fpm: master'|grep -v grep|awk '{print $1}'`
12     if [ -n "$phppid" ]
13     then
14         kill -INT $phppid
15     fi
16     /usr/sbin/php-fpm -R &
17 fi

创建定时任务

定时任务执行文件webmonitor

  * * * * * /etc/monitor.sh &> /dev/null 

设备启动时创建定时任务

ln -s /bin/busybox /bin/crontab
ln -s /bin/busybox /bin/crond
mkdir -p /var/spool/cron/crontabs
crontab /etc/webmonitor
/bin/crond -l 9

因为我使用的是嵌入式设备,所以定时任务用的是busybox中的crontab,如果是一般的服务器,根据情况设置即可。

posted @ 2020-01-15 14:39  特战小鸟nmx  阅读(284)  评论(0)    收藏  举报