有时候,我们的Web服务器如Apache、NGINX可能因为某些原因退出了,这时候如果没有及时发现,就会影响服务,所以搞个自动重启是很有必要滴
Apache
#!/bin/sh
HTTPD_NUM=`ps aux | grep -P "(bin/httpd)|(./httpd)" | grep -v "vim" | grep -v "grep" | wc -l`
if [ ${HTTPD_NUM} -eq 0 ]; then
/usr/local/apache/bin/apachectl restart
fi
Nginx
#!/bin/sh
NGINX_NUM=`ps aux | grep -P "nginx" | grep -v "vim" | grep -v "grep" | wc -l`
if [ ${NGINX_NUM} -eq 0 ]; then
/usr/local/nginx/sbin/nginx
fi
加入crontab,每分钟检查一次
* * * * * /bin/bash /data/cron/apache_restart.sh > /dev/null 2 >& 1
* * * * * /bin/bash /data/cron/nginx_restart.sh > /dev/null 2 >&1
原理很简单,就是判断是否有进程,如果木有了,执行重启操作!