-查看某个服务的运行状态
systemctl status mysql
-你只想关心 Active 状态,还可以使用 systemctl is-active 命令
systemctl is-active mysql
active
-keep_mysql_active.sh
cat >> /opt/keep_mysql_active.sh <<EOF
#!/bin/bash
result=`systemctl is-active mysql`
if [ $result = "active" ]; then
echo "[$(date +%Y%m%d_%H%M%S)] MySQL is active"
exit
else
echo "[$(date +%Y%m%d_%H%M%S)] MySQL is inactive"
echo "[$(date +%Y%m%d_%H%M%S)] Restart now"
systemctl restart mysql
echo "[$(date +%Y%m%d_%H%M%S)] Restart Done!"
echo "[$(date +%Y%m%d_%H%M%S)] Mysql Restart!"| mail -s "Mysql Restart" 13850000249@qq.com
fi
EOF
-如果 MySQL 服务为 active 状态,则结束本次检测;如果为 inactive 状态,则尝试重启 MySQL 服务。
-crontab -l 每隔一分钟检查一次
* * * * * /bin/sh /opt/keep_mysql_active.sh >> /opt/keep_mysql_active.log 2>&1
chmod -R 777 /opt/keep_mysql_active.sh
签名:这个人很懒,什么也没有留下!