MySQL备份脚本(包含zabbix数据库)
发表于:2024-10-14 作者:千家信息网编辑
千家信息网最后更新 2024年10月14日,需求:按天备份,保留一周,zabbix数据库不备份历史数据MySQL版本:5.7.17脚本:需要提前建立路径mkdir -pv /opt/mysql_backup/auto_backupcat /op
千家信息网最后更新 2024年10月14日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 优化
停车场收费系统数据库怎样修改
电脑玩王者荣耀服务器
方舟手游怎样开一个服务器
怎么制作代理产品云端查询数据库
网络安全招收无经验人员
清远市新程网络技术有限公司
众筹科技和互联网公司
虚拟服务器可以做吗
湖南软件开发中专技校
河北app软件开发哪家快
数据库中的check约束
菜单调用对话框连接数据库
浦东新区互联网软件开发问答知识
近几年导航软件开发的要求
关于网络安全的问题及对策
我的世界雾山服务器
郑州空格网络技术有限公司
mysql数据库压测
网络安全警惕什么
数据库中数据查询
为什么服务器老是掉线
网络技术资源网站排行
传奇数据库刷装备
服务器开始菜单没东西
网络安全 考研
同济大学教授谈网络安全
服务器电源指示灯亮无输出
设计制造数据库
成都软件开发8年工资水平