如何用shell脚本实现自动监测mysql实例状态

来源:互联网 发布:淘宝卡绑定手机号码 编辑:程序博客网 时间:2024/05/11 15:35

shell脚本内容(邮箱,用户名,密码等等请根据自己需求做相应修改):

#Mysql

host='192.168.1.21'

port='3306'

user='root'

password='system@123'

#Mail

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,并做了些许修改。


0 0
原创粉丝点击