当前位置:首页 > Zabbix > 备份Zabbix数据库配置文件

备份Zabbix数据库配置文件

通过该脚本可以备份Zabbix数据库的所有配置信息表里面的数据(eg.hosts,hostgroups,triggers,items…),但不包括历史数据表里面的数据(eg.trends,trends_uint,history,history_uint…)。

备份文件只有几十M的数据大小,备份和恢复都非常容易。

请注意这种方法只能备份Zabbix配置信息的数据,不能备份历史数据。

https://sourceforge.net/projects/opensourcefile/files/mysqldump-backupconf.sh


#!/bin/sh

#Create by sfzhang 20150126
#Configuration Backup for Zabbix 2.0 with MySQL Mysqldump

MYSQLUSER="root"
MYSQLPORT="3306"
DATE=`date +%Y%m%d`
RMDATE=`date --date '15 day ago' +%Y%m%d`
MYSQLPASS=`cat /data/mysql/3306/.mysqlpassword`
MYSQLBACKDIR="/ZBXBACK/backup/mysqldump"

if [ ! -d "${MYSQLBACKDIR}" ]; then
mkdir -p ${MYSQLBACKDIR}
fi

#Backup Configuration files.
/usr/local/mysql/bin/mysqldump -u root -p$MYSQLPASS zabbix -S /data/mysql/3306/mysql.sock \
--ignore-table=zabbix.acknowledges \
--ignore-table=zabbix.alerts \
--ignore-table=zabbix.auditlog \
--ignore-table=zabbix.auditlog_details \
--ignore-table=zabbix.escalations \
--ignore-table=zabbix.events \
--ignore-table=zabbix.history \
--ignore-table=zabbix.history_log \
--ignore-table=zabbix.history_str \
--ignore-table=zabbix.history_str_sync \
--ignore-table=zabbix.history_sync \
--ignore-table=zabbix.history_text \
--ignore-table=zabbix.history_uint \
--ignore-table=zabbix.history_uint_sync \
--ignore-table=zabbix.trends \
--ignore-table=zabbix.trends_uint \
| gzip  > ${MYSQLBACKDIR}/Zabbix_db_dump_${DATE}.zip

if [ $? -eq 0 ]; then
du -sh ${MYSQLBACKDIR}/Zabbixdump_${DATE}.zip |awk '{print $2,$1}' | mail -s "`hostname` Zabbix db mysqldump backup size" shifeng_zhang88@163.com
fi

#Remove 15 days ago backupfile.
rm -rf ${MYSQLBACKDIR}/Zabbixdump_${RMDATE}.zip

给脚本增加可执行权限。

chmod +x /root/sh/mysql-backupconf.sh

添加crontab,每天凌晨执行备份脚本。


00 00 * * *  /root/sh/mysql-backupconf.sh

 

 

  • «
  • »
  • 朴实的追梦者 作者:
    除非注明,本文原创:朴实的追梦者,欢迎转载!转载请以链接形式注明本文地址,谢谢。
    原文链接:http://www.zmzblog.com/zabbix/backup-conf.html

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注


    One thought on “备份Zabbix数据库配置文件

    1. 朴实的追梦者
      朴实的追梦者 (Post author) 

      由于服务器主板故障导致mysql数据库异常关闭,后来拔掉硬盘插到其它服务器之后mysql起动不起来,是通过这种方法恢复zabbix配置数据的。

       Reply