mysql 在linux下如何进行指定的数据库定时备份与删除XX天以前的备份文件?

mysql 在linux下如何进行指定的数据库定时备份与删除XX天以前的备份文件?,第1张

参考cron的文档说明,这是linux上的计划任务

参考mysqldump -D man说明,这是直接输出数据

还有使用 mysql -D <bak.sql 请参考mysql命令说明

每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据;

需求:

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的

10号

20号

30号的备份数据;

#创建shell文件

vim

backup_mysql.sh

mysqldump

-uroot

-p123456

--all-databases

>

/data/dbdata/mysqlbak/`date

+%Y%m%d`.sql

find

/data/dbdata/mysqlbak/

-mtime

+7

-name

'*[1-9].sql'

-exec

rm

-rf

{}

\

find

/data/dbdata/mysqlbak/

-mtime

+92

-name

'*.sql'

-exec

rm

-rf

{}

\

#创建定时任务

crontab

–e

0

4

*

*

*

/data/dbdata/backup_mysql.sh

这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录这个是以年月日来命名备份 删除的命令是

rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10800481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存