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

Posted on   jiaoqing。  阅读(608)  评论(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

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

随笔 - 287, 文章 - 0, 评论 - 3, 阅读 - 42万

Copyright © 2025 jiaoqing。
Powered by .NET 9.0 on Kubernetes

点击右上角即可分享
微信分享提示