shell脚本内容(邮箱,用户名,密码等等请根据自己需求做相应修改):
#Mysql
host='192.168.1.21'
port='3306'
user='root'
password='system@123'
source='……@163.com'
target='……@qq.com'
title='mysql has stopped'
MailUser='……'
MailPassword='……'
content='ERROR! MySQL is not running,please start it and find the reason,then deal with it'
mysqlclient="mysql"
## Check
$mysqlclient --host=$host --port=$port --user=$user --password=$password -e "show databases;" > /dev/null 2>&1
if [ $? == 0 ]
then
echo " $host mysql login successfully "
exit 0
else
echo " $host mysql login faild"
#设置发邮件通知
/usr/local/bin/sendEmail -f $source -t $target -s smtp.163.com -u $title -xu $MailUser -xp $MailPassword -m $content
exit 2
fi
注:> /dev/null 2>&1表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
$?表示上一个命令执行的状态,如果执行成功,就为0.
设置定时任务,每五分钟检测一次数据库状态
*/5 * * * * /download/dandan/monitor.sh >>/download/dandan/monitor.log 2>&1
--想了解sendEmail相关,请查阅sendEmail实现邮件报警
--本篇文章参考自:http://outofmemory.cn/code-snippet/3262/shell-script-jiankong-mysql-data-library-state,并做了些许修改。