centos系统宝塔面板设置定时mysql运行状态的脚本
发布时间: 2024年8月5日 11:47
点击量: 411
Tags:
#!/bin/bash # MySQL服务名称 MYSQL_SERVICE="mysqld" # 日志文件路径 LOG_FILE="/var/log/mysql_monitor.log" # 获取当前时间的函数 get_timestamp() { date "+%Y-%m-%d %H:%M:%S" } # 检查MySQL状态的函数 check_mysql() { if systemctl is-active --quiet $MYSQL_SERVICE; then return 0 else return 1 fi } # 重启MySQL的函数 restart_mysql() { echo "$(get_timestamp): MySQL已停止,尝试重启..." | tee -a $LOG_FILE systemctl restart $MYSQL_SERVICE sleep 10 # 等待10秒以确保MySQL有足够时间启动 if check_mysql; then echo "$(get_timestamp): MySQL重启成功" | tee -a $LOG_FILE else echo "$(get_timestamp): MySQL重启失败,请手动检查" | tee -a $LOG_FILE fi } # 主要逻辑 echo "$(get_timestamp): 开始检查MySQL状态" | tee -a $LOG_FILE if check_mysql; then echo "$(get_timestamp): MySQL运行正常" | tee -a $LOG_FILE else echo "$(get_timestamp): MySQL未运行" | tee -a $LOG_FILE restart_mysql fi echo "$(get_timestamp): 检查完成" | tee -a $LOG_FILE echo "--------------------------" | tee -a $LOG_FILE