Mysql数据库自动备份,并清除指定时间之前的备份文件

创建mysql备份文件存放目录:

mkdir -p /usr/local/mysqlbackup/mysqldata
cd /usr/local/mysqlbackup

编写全量备份脚本:
备份形式注释在脚本里,可根据实际情况选择修改

vim backmysql.sh
#!/bin/bash

# Name:backmysql.sh
#备份目录
backupdir=/usr/local/mysqlbackup/mysqldata

#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S`

#需要备份的数据库名称
db_name=all-databases

#mysql 用户名
db_user=root

#mysql 密码
db_pass=123456

#全量备份
mysqldump -u$db_user -p$db_pass --$db_name > $backupdir/$db_name-$time.sql
#mysqldump -u$db_user -p$db_pass --all-databases|gzip > $backupdir/all-datebases$time.sql
#恢复命令
#mysql –u 用户名 –p < 备份文件.sql
#gzip < network_2017_10_17_10_30_01.sql.gz | mysql -u root -p dataname
#数据库全量备份并压缩
#mysqldump -u$db_user -p$db_pass $db_name|gzip>/usr/local/mysqlbackup/mysqldata/$db_name$time.sql.gz

#删除五分钟之前的备份文件--测试删除命令是否可用
#find /usr/local/mysqlbackup/mysqldata -name "all-databases_*.sql.gz" -type f -mmin +5 -exec rm -rf {} \; > /dev/null 2>&1

#删除7天之前的备份文件
find /usr/local/mysqlbackup/mysqldata -name "all-datebases_*.sql" -type f -mtime +6 -exec rm -rf {} \; > /dev/null 2>&1

#2>/dev/null 
#意思就是把错误输出到“黑洞”

#>/dev/null 2>&1
#默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”

#2>&1 >/dev/null
#意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕

或者指定库备份:

#!/bin/bash

# Name:backmysql.sh
#备份目录
backupdir=/usr/local/mysqlbackup/mysqldata

#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S`

#需要备份的数据库名称
db_name1=xxx1
db_name2=xxx2
db_name3=xxx3
db_name4=xxx4

#mysql 用户名
db_user=root

#mysql 密码
db_pass=123456

#备份
for i in $db_name{1..4}
    do 
        #备份指定数据库
		mysqldump -u$db_user -p$db_pass $i > $backupdir/$i-$time.sql
		#删除7天之前的备份文件
		find /usr/local/mysqlbackup/mysqldata -name "$i-*.sql" -type f -mtime +6 -exec rm -rf {} \; > /dev/null 2>&1
	done

完成脚本编写后,需要给脚本文件执行权限:

chmod +x backmysql.sh

然后我们编写定时任务:
每天凌晨1点钟,定时执行脚本

crontab -e
00 1 * * * /usr/local/mysqlbackup/backmysql.sh

ZZ 保存并退出,自动备份,并清除指定时间之前的备份文件的任务,就完成了!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在SQL Server中,您可以使用维护计划来设置数据库备份任务。首先,打开资源管理器并选择工具箱。在工具箱中,您将找到"备份数据库"任务、"清除维护任务"和"收缩数据库"任务选项。将这些任务选项拖到维护计划面板上,并确保它们的先后顺序正确。只有在启动了SQL Server代理之后,您才能成功执行维护计划中的数据库备份任务。 对于MySQL,您可以使用命令行来导入和导出数据库。首先,通过cmd命令行操作来导出SQL文件。然后,通过使用cmd命令行和MySQL命令来恢复数据并创建数据库。这样,您就可以通过命令行来进行MySQL数据库备份和恢复操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [SQL Server 维护计划(数据库备份)](https://blog.csdn.net/zjw030409/article/details/128970695)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL命令行导入导出数据库步骤操作](https://download.csdn.net/download/qq_37647812/88226657)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值