Linux 上定时检测 MySQL 服务是否宕机,并自动重启服务

[复制链接] |主动推送
查看105 | 回复0 | 2024-9-11 18:08:42 | 显示全部楼层 |阅读模式
一、检测 MySQL 服务脚本
MySQL 自动重启的 Shell 脚本非常简单,整个逻辑就是检测是否有 MySQL 的进程,如果没有就重启并记录到日志文件中:
pgrep mysqld &> /dev/nullif [ $? -gt 0 ]thenlnmp restartecho "MySQL stopped at time: `date` " >> /root/log/mysql_listen.logfi二、定时任务
例如我这里设置的是每 5 分钟检查一次 MySQL 服务:

*/5 * * * * /root/mysql.sh > /dev/null 2>&1 &三、更多脚本
除了检测 MySQL 服务外,相应的还可以检测 PHP 服务、Nginx 服务等,在脚本上略微改动下就好了:
pgrep mysqld &> /dev/nullif [ $? -gt 0 ]thenlnmp restartecho "MySQL stopped at time: `date` " >> /root/log/mysql_listen.logfipgrep nginx &> /dev/nullif [ $? -gt 0 ]thenlnmp restartecho "Nginx stopped at time: `date` " >> /root/log/mysql_listen.logfipgrep php-fpm &> /dev/nullif [ $? -gt 0 ]thenlnmp restartecho "hp stopped at time: `date` " >> /root/log/mysql_listen.logfi
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则