MySQL数据库如何创建全库及二进制增量备份脚本
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,下面讲讲关于MySQL数据库如何创建全库及二进制增量备份脚本,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL数据库如何创建全库及二进制增量备份脚本这篇文章你一定会
千家信息网最后更新 2025年12月02日MySQL数据库如何创建全库及二进制增量备份脚本
下面讲讲关于MySQL数据库如何创建全库及二进制增量备份脚本,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL数据库如何创建全库及二进制增量备份脚本这篇文章你一定会有所受益。
1、全库备份脚本如下:
#!/bin/bash############### 定义默认值 #################user='root'passwd='123.com'host='localhost'today=`date '+%F'`dump_cmd='/usr/local/mysql/bin/mysqldump'full_backupdir="/opt/database/full_backup/"email='916551516@qq.com'################### 加载变量并定义脚本用法 ###################USAGE(){echo -e "\033[33m $0 脚本用法: -u: 指定备份用户(默认是root) -p: 指定用户密码(默认密码为"123.com") -h: 指定备份主机(默认是本机) -d: 指定要备份的数据库(默认备份所有库) \033[0m"}if [[ $1 == '--help' || $1 == '-h' ]];then USAGE exit 0fi###################### 对选项进行赋值 ###################while getopts ":u:p:h:d:" optname;docase "$optname" in"u") user=$OPTARG;; "p") passwd=$OPTARG ;;"h") host=$OPTARG ;;"d") db=$OPTARG;; ":") echo "此选项没有值!" ;;"*") echo "错误信息...";;"?") echo "不知道此选项...";;esacdone############# 对要备份的库进行判断并执行备份操作 ###############[ -d ${full_backupdir} ] || mkdir -p ${full_backupdir}cd ${full_backupdir}: > err.logif [ ${#db} -eq 0 ];then ${dump_cmd} -u${user} -p${passwd} -h${host} -A -F > ${today}.sql 2> err.log status=$? sqlname="${today}.sql"else ${dump_cmd} -u${user} -p${passwd} -h${host} --databases $db -F > ${today}.${db}.sql 2> err.log status=$? sqlname="${today}.${db}.sql"fi############ 对备份状态进行判断 #####################if [ ${status} -eq 0 ];then tar zcf ${sqlname}.tar.gz ./${sqlname} rm -f ${sqlname}########### 如果失败,则发送报警邮件到指定邮箱 ################else echo "备份数据库失败,错误日志如上所示!!!" >> err.log mail -s "mysql backup" $email < err.logfi############ 删除二十天前的备份文件 ##############find . -type f -name "*.tar.gz" -mtime +20 -delete2、二进制增量备份脚本
#!/bin/bash####################### 定义初始值 #############################user='root'passwd='123.com'datadir="/usr/local/mysql/data"backupdir="/opt/database/dailybackup/"dump_cmd='/usr/local/mysql/bin/mysqlbinlog'[ -d ${backupdir} ] || mkdir -p ${backupdir} #判断备份文件存放路径是否存在cd ${datadir} #切换至mysql的数据存放路径sum=`cat bin_log.index | wc -l` #取得所有二进制日志文件总数/usr/local/mysql/bin/mysql -u${user} -p${passwd} -e "flush logs" &> /dev/null #在备份前刷新二进制日志文件nextnum=0 #定义一个初始值为0backupsum=0for file in `cat bin_log.index` #对所有二进制日志文件进行遍历do binlogname=`basename $file` #获取二进制日志文件名#如果当前备份的文件数目比总数小(新刷新的二进制文件不需要备份) if [ $nextnum -lt $sum ];then [ -f ${backupdir}${binlogname} ] || cp -a ${file} ${backupdir}${binlogname} #如果备份目录下不存在该二进制文件,则进行copy动作 let nextnum++ #对备份成功数量进行增加 fidone
echo "跳过最新二进制日志文件,备份完成!!!"
备份
二进制
文件
脚本
日志
数据
数据库
增量
密码
总数
用户
路径
错误
成功
下文
主机
主题
信息
动作
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全球最大的数据库公司
华为服务器编译器
杭州闪信网络技术
命令提示符切换数据库
数据库技术基础是SQL吗
我是网络安全宣传员电子报
广州互拓网络技术
少年儿童网络安全宣传语
深圳华宇互联网科技贵阳分公司
虚拟服务器是无形资产吗
服务器怎么用阵列管理工具
db数据库怎么看建表
KPI与网络安全的关系
千品在线网络技术
游戏软件开发公司有那些
网络安全上机心得
网络安全手抄报设计感手机壳
燃烧远征5区有哪些服务器
上海现代软件开发价格表格
徐州企业软件开发推荐咨询
英语词根数据库
区块链是数据库吗
网络安全方面的专业有哪些
个性化网络技术是什么
个人互联网服务器局域网安全
办理安装网络安全管理系统
dns备用服务器填错有什么影响
网络安全原理与实践陈伟
查一查人才数据库陈加贞
管理员使用的是不是服务器