千家信息网

MySQL备份脚本(包含zabbix数据库)

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,需求:按天备份,保留一周,zabbix数据库不备份历史数据MySQL版本:5.7.17脚本:需要提前建立路径mkdir -pv /opt/mysql_backup/auto_backupcat /op
千家信息网最后更新 2026年10月31日MySQL备份脚本(包含zabbix数据库)

需求:按天备份,保留一周,zabbix数据库不备份历史数据

MySQL版本:5.7.17

脚本:

需要提前建立路径mkdir -pv /opt/mysql_backup/auto_backupcat /opt/mysql_backup/mysqlback.sh
#!/bin/bash# 0 3 * * * bash /opt/mysql_backup/mysqlback.sh &>/dev/nullDBUSER=rootDBPASS=**********DATE=`date +%Y-%m-%d`BACKPATH="/opt/mysql_backup/auto_backup"HOSTNAME=`/bin/hostname`MYSQL_BACK_DIR="$BACKPATH/${HOSTNAME}_$DATE"MYSQLDUMP=/usr/bin/mysqldumpMYSQL=/usr/bin/mysqlTAR_DIR=$DATETAR=/bin/tarRM=/bin/rmFIND=/bin/findDSTIP=192.168.100.131#If no directory then create the directoryif [ ! -d $MYSQL_BACK_DIR ];then        mkdir -p $MYSQL_BACK_DIRfi#delete 7 day ago file#lock tables#$MYSQL -u$DBUSER -p$DBPASS -h$DBHOST -e "stop slave;"#$MYSQL -u$DBUSER -p$DBPASS -h$DBHOST -e "flush tables with read lock;"#list mysql databases and dump databasefor i in $($MYSQL -u$DBUSER -p$DBPASS -e "show databases\G"|grep Database|grep -v schema|grep -v zabbix|grep -v sys|awk '{print $2}')do         cd $MYSQL_BACK_DIR                $MYSQLDUMP -u$DBUSER -p$DBPASS --master-data=2 --flush-logs  --lock-all-tables --opt --default-character-set=utf8 --extended-insert=false --triggers -R --hex-blob --events   $i > $i.sql#       $MYSQLDUMP -u$DBUSER -p$DBPASS -h$DBHOST --single-transaction --master-data=2 $i |gzip > $i.sqldone#Backup Zabbix Configuration files.cd $MYSQL_BACK_DIR $MYSQLDUMP -u$DBUSER -p$DBPASS --master-data=2 --flush-logs  --lock-all-tables --opt --default-character-set=utf8 --extended-insert=false --triggers -R --hex-blob --events  zabbix  \--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 > zabbix.sql#unlock tables#tar backfile and rm oldfilecd $BACKPATH$TAR czf $MYSQL_BACK_DIR.tar.gz ${HOSTNAME}_${DATE} > /dev/null 2>&1scp $MYSQL_BACK_DIR.tar.gz $DSTIP:/opt/mysql_backup/auto_backup$RM -rf ${HOSTNAME}_${DATE}$FIND $BACKPATH -mtime +7 -exec $RM -rf {} \;

说明:以上脚本,zabbix数据库单独拎出来了,只需要备份配置表,不需要备份历史数据,如果mysql上没有zabbix数据库, 那一大段可以注释掉,异地备份需要设置免密钥登录,否则scp过程需要人工输入密码,导致执行等待;或者使用expect进行捕捉,自动添加密码(需要先安装expect)过程略。

[lyj@lyj.com mysql_backup]$ pwd/opt/mysql_backup[lyj@lyj.com mysql_backup]$ tree.├── auto_backup│   └── server5_2017-03-06.tar.gz  #备份后的文件名称格式为"主机名_日期.tar.gz"├── mysql_backup.sh└── readme1 directory, 3 files


备份 数据 数据库 脚本 历史 历史数据 密码 过程 主机 人工 名称 大段 密钥 异地 文件 日期 格式 注释 版本 路径 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技制造互联网公司 西安互联网科技 互联网 的科技创新 广州宏创互联网科技 唐信互联网科技 大连 济南和联互联网科技有限公司 须眉科技是互联网公司吗 互联网校园科技培训 黑科技闪耀互联网之光 苏州五指互联网络科技有限 互联网媒体平台算高科技产业 链环科技传统企业怎么转型互联网 银川新华互联网科技学校联系电话 互联网科技人工智能实验室 长沙互联网科技 山东有哪些互联网科技公司 众安科技工业互联网合作 互联网科技股为什么大涨 九思连强互联网电子科技有限公司 广州全民伙伴互联网科技有限公司 博彦科技互联网金融 新华互联网科技 互联网科技垄断 科技伦理 互联网公司 小米互联网科技园设置 富国互联网科技002692 从那以后互联网科技有限公司 互联网科技收购价值 互联网企业和网络科技有限公司 高科技和互联网的现代国家
0