23113fff 发表于 2016-8-18 09:41:30

zabbix数据库备份

该脚本要是用于日常备份zabbix数据库,当出现故障后zabbix能快速恢复。


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
#/bin/sh
:<< Statement
| Function : TO BACK ZABBIX DB EXCEPT HISTORY* TREND*
| version: DEV
| mail       : 714810243@qq.com
| date       : 2016-07-19
Statement
MysqlCMDPath='/usr/bin/mysql'
DumpCMDPath='/usr/bin/mysqldump'
DumpDBUser='zabbix'
DumpDBPasswd='xxxx'
DataBaseName=zabbix
BackFileDirPath='/home/zabbix/DBBACK'
BackFileDirName=`date +%Y%m%d`
function MysqlDump()
{
      [ -d ${BackFileDirPath}/${BackFileDirName} ] || mkdir -p ${BackFileDirPath}/${BackFileDirName}
      Table_Name_All=`${MysqlCMDPath} -u${DumpDBUser} -p${DumpDBPasswd} ${DataBaseName} -e"show tables;" | egrep -v "Tables_in_zabbix|history*|trends*|events*"`
   
    for Table_Name in ${Table_Name_All}
    do
      ${DumpCMDPath} -q --skip-opt -u${DumpDBUser} -p${DumpDBPasswd} ${DataBaseName} ${Table_Name} > ${BackFileDirPath}/${BackFileDirName}/${Table_Name}.sql
    done   
   
    if [   "$?" == 0 ] ; then
      echo "${BackFileDirName} : BackUp zabbix successed" >> ${BackFileDirPath}/zabbixback.log
    else
      echo "${BackFileDirName} : BackUp zabbix not successed" >> ${BackFileDirPath}/zabbixback.log
    fi
   
    rm -rf ${BackFileDirPath}/`date +%Y%m%d --date='7 days ago'`
}
MysqlDump




                                             该脚本多处参考hao哥(itnihao)的思路,多谢hao哥。

页: [1]
查看完整版本: zabbix数据库备份