宝塔配置自动重启mysql 服务计划任务
#!/bin/bash
# MySQL 服务名称(根据你的系统调整)
SERVICE_NAME="mysqld" # 或 "mysql"、"mariadb"
# 检测 MySQL 是否运行
if ! pgrep -x "$SERVICE_NAME" > /dev/null; then
echo "$(date '+%Y-%m-%d %H:%M:%S') MySQL 已停止,尝试重启..." >> /root/mysql_monitor.log
# 重启 MySQL(宝塔环境推荐使用宝塔命令)
/etc/init.d/mysqld restart # 或 `systemctl restart mysqld`
# 如果宝塔命令可用,也可以使用:
# /etc/init.d/bt restart mysql
echo "$(date '+%Y-%m-%d %H:%M:%S') MySQL 已重启完成" >> /root/mysql_monitor.log
else
echo "$(date '+%Y-%m-%d %H:%M:%S') MySQL 运行正常" >> /root/mysql_monitor.log
fi

注意点:正式环境下,需要注释掉下面这句,否则每隔1分钟会写入一条日志,导致日志文件占用大量硬盘空间。
echo “$(date ‘+%Y-%m-%d %H:%M:%S’) MySQL 运行正常” >> /root/mysql_monitor.log