因主管要求在中心管理服务器上写一个脚本每天在规定时间自动检查公司所有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_LOGSfi//建立日志文件
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_LOGSdone //循环导出mysql服务器运行状况资料/bin/mail $ADMIN -s "Status Report For Server"<$STATUS_LOGS//将结果发送到指定邮箱
/bin/rm -f $STATUS_LOGS //删除日志,以免日志文件过大
/bin/touch $STATUS_LOGS //重建日志文件将这个脚本放入排程中自动运行。很简单一个脚本。 Windows与Linux下MySQL的细小区别查看MySQL数据库字符集及数据库连接情况相关资讯 MySQL知识
- MySQL 5.5.21 GA 发布 (02/21/2012 16:07:37)
- 甲骨文宣布为MySQL 5.6增加新功能 (07/27/2011 05:41:30)
- MySQL管理工具 SQLyog 9.1 发布 (06/14/2011 05:54:00)
| - MySQL Cluster 7.1.15a 发布 (08/29/2011 05:58:28)
- Zebra_Database 2.5 发布 (07/03/2011 06:35:59)
- 甲骨文透露Sun的战略规划 (01/29/2010 13:45:49)
|
本文评论 查看全部评论 (0)