Linux定时备份mysql数据库并保留7天数据
1、创建备份目录
使用的是xshell
# cd /home
# makdir sqlbackup
# cd sqlbackup
2、创建备份shell脚本
# vi DatabaseName.sh
3、编辑备份shell脚本
此处使用vim 编辑器,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/