参考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天前的日期来删除备份的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)