环境:
A:172.16.16.1 (MySQL机器)
B:172.16.16.2 (备份机器)
C:172.16.16.3 (zabbix服务器)
介绍
因公司开发需要,需要备份内网测试数据库A.B.C三个库,在每天凌晨2点打包备份到B机器上面。
计划
1、在B机器上面使用mysqldump配合脚本在本地备份数据库
2、在zabbix机器上面设置监控项,备份不成功则想运维部门发送邮件
1、脚本内容 部署在B机器的/data1/local_backup/mysqlbak/IP里面
1
2
3
4
5
6
7
8
|
#!/bin/sh
messages_dir=
/data1/backup/local_backup/mysqlbak/172
.16.16.1 /
cd
/data1/backup/local_backup/mysqlbak/172
.16.16.1 /
Now=$(
date
+
"%d-%m-%Y"
)
File=web_mysql_172.16.16.1 _3306_$Now.sql
mysqldump -uroot -p
'password'
-h 172.16.16.1 -B A B C |
gzip
-9 >
/data1/backup/local_backup/mysqlbak/172
.16.16.1 /$File.sql.gz
/usr/bin/find
${messages_dir} -name
'*web_mysql_172.16.16.1 _3306*'
-mtime +7 -
exec
rm
-f {} \;
echo
$? >
/data1/backup/local_backup/mysqlbak/172
.16.16.1
/mysqlbak172
.16.16.1.log
|
2、设置定时任务
1
2
3
4
|
[root@git ~]
# vi /etc/crontab
00 02 * * *
/bin/sh
/data1/backup/local_backup/mysqlbak/172
.16.16.1
/backup-172
.16.16.1.sh
[root@git ~]
# /sbin/service crond restart
[root@git ~]
# chkconfig –level 35 crond on
|
3、定义key变量
1
2
|
[root@git ~]
# cat /usr/local/zabbix_agent/etc/zabbix_agentd.conf | grep "UserParameter"
UserParameter=mysqlbak.log,
/bin/cat
/data1/backup/local_backup/mysqlbak/172
.16.16.1
/mysqlbak172
.16.16.1.log
|
#重启zabbix-agent
4、在主机上面添加模板,调用key变量
5、设置触发器
本文转自 好笔记运维 51CTO博客,原文链接:http://blog.51cto.com/zhang789/1753419,如需转载请自行联系原作者