注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

阿飘的博客

十里平湖霜满天 寸寸青丝愁华年

 
 
 

日志

 
 

自动检查mysql运行状态  

2011-07-22 09:41:32|  分类: shell&c |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
要求在中心管理服务器上写一个脚本每天在规定时间自动检查公司所有mysql server运行状态,然后发到指定的邮箱。

我们公司所有mysql server版本为5.0.25,操作系统是centos 4.6,所有mysql server都是下载tar包重新编译。以下是我具体操作过程。
前提条件:
1.在每台mysql服务器上为中心管理服务器新建一个用户。以便它有权查看服务器的运行状况。
mysql>grant all ON *.* TO status@中心管理服务器ip IDENTIFIED BY '用户密码‘;
2.下载mysqlreport脚本
wget http://hackmysql.com/scripts/mysqlreport-3.5.tgz,解压,然后将mysqlreport复制到/usr/bin/目录下,以便于后期调用。
3.编写脚本,以下是我脚本内容。

#!/bin/sh
DATE=`date '+%Y%m%d%H%M'`//定义时间
ADMIN="zhang×××@gmail.com"//
STATUS_LOGS="/var/log/mysql_status.log"
PASSWORD="刚才新建的数据库密码"
PORT="3306"//数据库端口
IP="192.168.10.26 192.168.10.214 192.168.10.20 192.168.10.100 \192.168.10.105"//mysql server ip地址,请根据你的网络环境更改
if [ ! -f $STATUS_LOGS ];then
        /bin/touch $STATUS_LOGS
fi//建立日志文件
for i in $IP
        do
                HOSTNAME=$i
/bin/echo "================ mysql status analize for 192.168.10.214  date:$DATE====================">>$STATUS_LOGS
/bin/echo "==========================  Status For $HOSTNAME  ==================================">>$STATUS_LOGS
/usr/sbin/mysqlreport --user status --password $PASSWORD --host $IP >>$STATUS_LOGS
sleep 1
echo " ">>$STATUS_LOGS
done //循环导出mysql服务器运行状况资料

/bin/mail $ADMIN -s "Status Report For Server"<$STATUS_LOGS//将结果发送到指定邮箱
/bin/rm -f $STATUS_LOGS //删除日志,以免日志文件过大
/bin/touch $STATUS_LOGS //重建日志文件
将这个脚本放入排程中自动运行。
很简单一个脚本,
  评论这张
 
阅读(860)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018