zabbix数据库备份脚本及导入数据库
#!/bin/bash
#sadoc.blog.51cto.com
#备份zabbix数据库,不备份监控历史数据
HOST=127.0.0.1
SQL_PORT=3306
SQL_USER=zabbix
SQL_PASS=123456
DATABASE_NAME=zabbix
DUMP_PATH=/backup/mysql_backup
DATE=$(date '+%Y-%m-%d:%H:%M:%S')
DATED=$(date '+%Y-%m-%d')
[ -d ${DUMP_PATH} ] || mkdir -p ${DUMP_PATH}
cd ${DUMP_PATH}
[ -d logs ] || mkdir -p logs
[ -d ${DATED} ] || mkdir -p ${DATED}
cd ${DATED}
ALL_TABLES=$(mysql -u${SQL_USER} -p${SQL_PASS} -P${SQL_PORT} -h${HOST} ${DATABASE_NAME} -e "show tables" | \
egrep -v "(Tables_in_zabbix|trends*|acknowledges|alerts|auditlog|events|service_alarms)")
for TABLE_NAME in ${ALL_TABLES}
do
mysqldump -u${SQL_USER} -p${SQL_PASS} -P${SQL_PORT} -h${HOST} ${DATABASE_NAME} ${TABLE_NAME} > ${TABLE_NAME}.sql
sleep 10
done
[ $? = 0 ] && echo "${DATE}: Backup zabbix_mysql succeed" >> ${DUMP_PATH}/logs/zabbix_dump.log
[ $? != 0 ] && echo "${DATE}: Backup zabbix_mysql not succeed" >> ${DUMP_PATH}/logs/zabbix_dump_error.log
cd ${DUMP_PATH}/
rm -rf $(date +%Y%m%d --date='7 days ago')
exit 0
下面导入数据库:
删除数据库
drop database zabbix;
创建数据库
create database zabbix character set utf8 collate utf8_bin;
use zabbix;
source /backup/mysql_backup/xxx.sql;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341