#!/bin/sh
#本脚本每5秒监控一下mysql是否正常运行,如果不正常,发邮件或者短信给管理员
#我的邮箱
email=rd12@hi.cc
#进入mysql的bin
cd /data/software/mysql/bin
#监控本地数据库是否运行的语句
mysql_alive=`./mysqladmin -uroot -p123456 ping`
state="Y";
while true
do
if [ "$mysql_alive" == "mysqld is alive" ];
then
if [ $state == "N" ];
then
state="Y";
fi
else
if [ $state == "Y" ];
then
state="N";
nowdate=$(date --d='now' +%Y-%m-%d_%H:%M:%S)
msg="-------192.168.152.129mysql数据库没在运行 ------- $nowdate"
echo "$msg" | mutt -s "$msg" $email
fi
fi
sleep 5
done
将脚本驻留到后台运行
方法1:
nohup /bin/sh ./mysqladmin_ping.sh 2 > /dev/nul &
方法2:
./mysqladmin_ping.sh --deamon &
方法3:
直接把你的shell程序放到后台运行不就成了?
$ some_path/your_script.sh &
或者
$ nohup some_path/your_script.sh &
查看后台脚本
ps -ef | grep mysqladmin_ping