目的:宝塔安装的网站,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宝塔计划任务。
Leave a Reply