Linux系统定时备份数据库,并删除七天之前的备份
编写sh文件
vim start_back.sh
mkdir /backup
mkdir /backup
#!/bin/bash/blog
# 定义备份目录和文件名
backup_dir="/backup/blog"
backup_file="$backup_dir/db_backup_$(date +\%Y\%m\%d).sql.gz"
# MySQL容器名称
mysql_container="mysql"
# MySQL数据库连接信息
db_user="root"
db_password="your_password"
db_name="your_sql_db_name"
# host改为自己的地址
docker exec $mysql_container mysqldump -h49.232.114.168 -u$db_user -p$db_password $db_name | gzip > $backup_file
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "数据库备份成功:$backup_file"
else
echo "数据库备份失败"
fi
给sh文件赋予权限
chmod +x start_back.sh
创建定时任务
crontab -e
加入一下命令 替换为自己的地址
# 每天凌晨1点执行备份脚本
0 1 * * * /backup/blog/start_back.sh
# 每天凌晨2点删除七天之前的备份数据
0 2 * * * find /backup/blog -type f -name 'db_backup_*' -mtime +6 -exec rm {} \;
Linux系统定时备份数据库,并删除七天之前的备份