目的:宝塔安装的网站,MySQL宕机的时候,可以自动重启MySQL服务。

配置步骤:宝塔后台——计划任务——任务类型(Shell脚本)——执行周期(N小时),选择一个小时或者两个小时。

脚本内容:

pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
fi

注意:需要一模一样的复制进去,最后的“fi“在最后一行。

详细解释:

执行周期,可以设置为1个小时一次,这个脚本对于CPU性能消耗不大。上述脚本的意思是如果MySQL宕机,就会执行宝塔的rememory.sh脚本清理内存,然后重启MySQL。

代码详解:

pgrep命令 – 用于检索当前正在运行的进程
例如:pgrep -x mysqld,可能会返回15548

/dev/null是一个特殊的设备文件,这个文件接收到的任何数据都会被丢弃。因此,null这个设备通常也被成为位桶(bit bucket)。——来自网络

脚本的IF解释:

$ if [ $? -eq 0 ]
Here: ($?) is a return value of the previous command. (-eq) means equal. As you might guess. And (0) is a success or found.

Conclusion: if the return value of the previous command is successful or the particular string was found. Usually, it is followed by: then blablabla. ——来自网络

相关文章:

关键词:MySQL守护进程, MySQL重启计划,MySQL宝塔计划任务。