宝塔面板PHP-Nginx-Mysql检测并自动重启Shell脚本代码分享

网站时不时会报错,或者Nginx或者PHP的,因此老白博客@老白我找了一些代码,用于宝塔面板PHP-Nginx-Mysql检测并自动重启Shell脚本代码分享,包括memcached和Redis(我虽然是WordPress,但理论上宝塔通用)。

1.设置教程

这个没啥好说的,宝塔面板——计划任务——Shell脚本,时间自行设定

2.Nginx自动重启脚本

检测并自动重启

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

3.PHP自动重启脚本

检测并自动重启

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

4.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
自动重启
/etc/init.d/mysqld restart

5.Redis和memcached自动重启脚本

/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

6.重启服务器(Linux)

reboot

7.日志查看

这个文件的位置是上面代码里面自己修改的