前面Zabbix使用的数据库是mysql,数据库备份不用多说,必须滴,由于使用的是innodb引擎,既然做,那就使用第三方强大的Xtrabackup工具来热备吧,Xtrabackup的说明,参见https://my.oschina.net/u/1171265/blog/200437
数据库备份简单粗暴,下面给出mysql备份脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
#!/bin/bash
#mysql热备脚本,Version:1.0
#Author:jzd
#备份策略:每周一进行完整备份,以后每一天在前一天的基础上进行增量备份
#
#备份目录
back_dir=”/back”</p>
<p>#备份数据库信息
host=”127.0.0.1″
dbuser=”dbuser”
dbpasswd=”dbpasswd”</p>
<p>#日志文件
back_log=”${back_dir}/mysql_back.log”</p>
<p>#week day
week_day=`date+%w`
#yesterday
yesterday=`date+%F-d“1 days ago”`</p>
<p>#日志记录函数
functionlog(){</p>
<p> echo“`date` $1” | tee -a ${back_log}</p>
<p>}</p>
<p>#判断当前日期,是周一进行全备份,其他时间进行增量备份
if[${week_day}-eq1];then
#完整备份
log“周${week_day}开始完全备份…”
innobackupex–host=${host} –user=${dbuser} –password=${dbpasswd} ${back_dir} &>> ${back_log}
if[$?-eq0];then
log“完全备份完毕.”
else
log“完全备份出错,请检查.”
exit1
fi
else
let dir_num=`find${back_dir}-typed-name“${yesterday}*” | wc -l`
if[${dir_num}-ne1];then
log“昨天增量目录未找到或昨天备份目录大于等于2个,请确认后再次备份.”
exit1
fi
incremental_dir=`find${back_dir}-typed-name“${yesterday}*”`
log“周${week_day}开始增量备份…”
#增量备份
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。