MySQL备份脚本(包含zabbix数据库)
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,需求:按天备份,保留一周,zabbix数据库不备份历史数据MySQL版本:5.7.17脚本:需要提前建立路径mkdir -pv /opt/mysql_backup/auto_backupcat /op
千家信息网最后更新 2024年11月27日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安全错误
数据库的锁怎样保障安全
sql三级数据库等级考试
服务器显示器故障维修
网络技术ask
服务器如何删除前管理员账号
网络科技属于互联网行业吗
汽车电子网络安全流程
IKEV2美国服务器
用友软件开发部面试
软件开发企业人工成本科目
输入网络安全密码输不上
大逃杀哪个服务器菜
怎样学习软件开发
说说网络安全
软件开发整改通知书
数据库查函数语句
网络技术保障部门的职责
万海昌网络技术
众商网络技术有限公司
网络安全的就业现状及前景
CCNA网络安全运营
网络技术概念是什么
朔州游戏软件开发
北京八维软件开发视频教程
三菱plc数据库怎么打开
数据库分析函数
网络安全的限制
sci数据库如何查找外文文献
互联网+电商+科技=新形态
c excel 数据库
数据库系统的3个组成