Linux定时备份mysql数据库并保留7天数据

Posted on 2022-02-23 11:45  jiaoqing。  阅读(632)  评论(0)    收藏  举报

1、创建备份目录

使用的是xshell

# cd /home
# makdir sqlbackup
# cd sqlbackup

2、创建备份shell脚本

# vi DatabaseName.sh

3、编辑备份shell脚本
此处使用vim 编辑器

#!/bin/bash
baseDir="/home/sqlbackup/";
cd "$baseDir";
echo "开始备份数据库";

#不压缩(压缩不压缩可自行选择)
#echo 'mysqldump -uroot -pt84QBp^@mb6x DatabaseName > /home/sqlbackup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql';
#压缩
echo `mysqldump -u数据库用户名 -p密码 DatabaseName | gzip > /home/sqlbackup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz`;

echo "备份数据完成";
oldDate=`date --date='8 day ago' +%Y%m%d`;
#删除当前日期-七天前的备份
echo `rm -rf DatabaseName_$oldDate*`;
echo "删除$oldDate的备份成功"

5、测试脚本是否正常执行

# ./DatabaseName.sh

正常情况会在/home/sqlbackup/目录下生成对应压缩文件

可能会用到的命令:
1、文件名称修改:mv DatabaseName_20210719_190851.sql.gz DatabaseName_20210711_190851.sql.gz
2、删除文件(删除命令谨慎使用):rm DatabaseName_20210719_190851.sql.gz
3、移动文件:cp -r /home/packageA/文件名 /home/cp/packageB/

4、创建定时任务,使用Crontab命令
每天晚上2点执行脚本,,Crontab使用

0 2 * * * /home/sqlbackup/


————————————————
版权声明:本文为CSDN博主「彪悍的一只鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42352694/article/details/118908246

可参考:https://blog.csdn.net/cjb2667/article/details/59106780?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.pc_relevant_paycolumn_v3&spm=1001.2101.3001.4242.1&utm_relevant_index=2

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3