4.php监视页面和cron定时监控
4.1 php的web监视页面
用php做监控很简单,只要注意每个mysql备份服务器的show slave status命令的结
果,Slave_IO_Running,Slave_SQL_Running就行了
mysql_connect("127.0.0.1:3307","root","******"); //连接到mysqld1
$err=monitor(); //检查同步状态
mysql_connect("127.0.0.1:3308","root","******"); //连接到mysql2
$err.=monitor(); //检查同步状态
mysql_connect("127.0.0.1:3309","root","******");
$err.=monitor();
if($err!='')
echo $err;
exit();
function monitor()
{
$a=mysql_fetch_array(mysql_query("show slave status"));
if($a['Slave_IO_Running']!='Yes')
$msg="主服务器:$a[Master_Host]:$a[Master_Port] 不能通讯,日志抓取点:
$a[Master_Log_File]:$a[Read_Master_Log_Pos]字节处
";
if($a['Slave_SQL_Running']!='Yes')
$msg.="主服务器:$a[Master_Host]:$a[Master_Port] 日志SQL语句不能被执行,错误信息:
$a[Last_Error]
";
return $msg;
}
?>
4.2 定时邮件报警
做cron定时邮件监控很简单,只要把上面的监视页面的php的echo $err 改成
sendmail("liushiwei@gmail.com","数据库备份错误",$err);
就行了,然后在系统的cron设立一个每天早上7点16分执行一次的wget命令.如果出现同步问题,就会发送一封邮件
/etc/crontab
16 7 * * * root wget wget -O - -q http://127.0.0.1/mysql_monitor.php
5.所有的文件都放在 ftp://www.anheng.com.cn/mysql ,此ftp不支持ie和迅雷,请使用其他浏览器下载:
mysql_backup_loongson.tar.bz2 适用于龙芯mini服务器的系统映像,只需要修改一下
/etc/mysql/my.cnf,然后配好网络就可以工作
monitor.php 监视和cron的脚本
sqlbak.sh 压缩加密的脚本