宝塔面板如何自动检测状态?实现并重启PHP、Redis、MySQL、Nginx服务等。服务器在运行中,经常会遇到各种问题导致服务无法正常运行,意外停止,这时候如果我们没有及时发现,就会损失很大,所以,建议给重要服务开启定时重启功能,这样即便是出问题,我们没有发现,服务也会定时自动开启。如果服务检测停止,也可自动让其启动。
一、添加方法
登录宝塔面板管理后台,点击计划任务,任务类型选择shell脚本,时间自己选择,脚本内容填写重启代码即可。
二、定时检测任务
使用宝塔面板定时任务执行下方代码即可实现定时检测,如有停止的可自动启动服务。
PHP监控(PHP56举例)守护:
#!/bin/bash # Linux监控PHP服务,关闭就自动重启 pgrep -x php-fpm &> /dev/null if [ $? -ne 0 ];then /etc/init.d/php-fpm-56 restart echo “监控到php56已停止,已执行重启计划,时间: `date “+%Y-%m-%d %H:%M:%S”` ” >> /www/php_jiankong.log fi
redis监控守护:
#!/bin/bash # Linux监控redis服务,关闭就自动重启 pgrep -x redis &> /dev/null if [ $? -ne 0 ];then /etc/init.d/redis start fi
MySQL监控守护:
#!/bin/bash # Linux监控MySQL服务,关闭就自动重启 pgrep -x mysqld &> /dev/null if [ $? -ne 0 ];then bash /www/server/panel/script/rememory.sh /etc/init.d/mysqld start echo “监控到MySQL已停止,已执行重启计划,时间: `date “+%Y-%m-%d %H:%M:%S”` ” >> /www/mysql_jiankong.log fi
Nginx监控守护:
#!/bin/bash # Linux监控Nginx服务,关闭就自动重启 nginx_procnum=`ps -ef|grep “nginx”|grep -v grep|wc -l` if [ $nginx_procnum -eq 0 ] then echo $(date) “Success,Nginx重启成功!” >> /var/log/nginxmonitor.log /etc/init.d/nginx start else sleep 5 echo “Nginx正常运行中…” fi