Centos 4.6下自动检查MySQL运行状态

php中文网
发布: 2016-06-07 16:52:17
原创
1293人浏览过

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

因主管要求在中心管理服务器上写一个脚本每天在规定时间自动检查公司所有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 ,解压,,然后将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"/bin/rm -f $STATUS_LOGS //删除日志,以免日志文件过大
/bin/touch $STATUS_LOGS //重建日志文件

将这个脚本放入排程中自动运行。

很简单一个脚本。

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号