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,如果是一般的服务器,根据情况设置即可。

浙公网安备 33010602011771号