网站时不时会报错,或者Nginx或者PHP的,因此老白博客@老白我找了一些代码,用于宝塔面板PHP-Nginx-Mysql检测并自动重启Shell脚本代码分享,包括memcached和Redis(我虽然是WordPress,但理论上宝塔通用)。
[h2]1.设置教程[/h2]
这个没啥好说的,宝塔面板——计划任务——Shell脚本,时间自行设定
[h2]2.Nginx自动重启脚本[/h2]
检测并自动重启
pgrep -x nginx &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/nginx start
echo "监控到Nginx已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/Nginx_jiankong.log
fi
自动重启
/etc/init.d/nginx restart
[h2]3.PHP自动重启脚本[/h2]
检测并自动重启
pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/php-fpm-{52|53|54|55|56|70|71|73} restart
echo "监控到php已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/php_jiankong.log
fi
自动重启
(根据安装PHP版本号做更改,例如:/etc/init.d/php-fpm-54 restart )
/etc/init.d/php-fpm-{52|53|54|55|56|70|71} restart
[h2]4.Mysql自动重启脚本[/h2]
检测并自动重启
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
自动重启
/etc/init.d/mysqld restart
[h2]5.Redis和memcached自动重启脚本[/h2]
/etc/init.d/memcached restart
/etc/init.d/redis restart
Redis检测并自动重启
ps=`ps -efl|grep redis|grep -v $0|grep -v grep|wc -l` if [ $ps -eq 0 ]; then echo -e "\n$(date '+%Y-%m-%d %H:%M:%S') start " /etc/init.d/redis start echo "$(date '+%Y-%m-%d %H:%M:%S') done" else echo $(date +%F%n%T) "redis正在运行..." exit 0; fi
[h2]6.重启服务器(Linux)[/h2]
reboot
[h2]7.日志查看[/h2]
这个文件的位置是上面代码里面自己修改的
本文作者为test,转载请注明。