mysqldump 备份mysql容器数据

#!/bin/bash

# 当前时间
CURRENT_TIME=$(date +"%Y%m%d%H")

# 容器名称
CONTAINER_NAME="4d4af96e1c43"

# 数据库用户
DB_USER="hooclub"

# 数据库密码
DB_PASSWORD="Wemall1@tinytiger"

# 备份文件存储路径
BACKUP_PATH="/www/mysql_5.7/data/backup/"

# 进入备份目录
cd "$BACKUP_PATH"

# 执行备份操作
if docker exec $CONTAINER_NAME mysqldump -u $DB_USER --password=$DB_PASSWORD --single-transaction -R -E --all-databases > "db_backup_$CURRENT_TIME.sql"; then
   # 压缩备份文件
   tar -czf "mysql_all.$CURRENT_TIME.tar.gz" "db_backup_$CURRENT_TIME.sql" && \
   # 删除原始备份文件
   rm -f "db_backup_$CURRENT_TIME.sql" && \
   echo "Database backup completed."
   # 清理过期备份文件
   find . -type f -name "mysql_all.*.tar.gz" -mtime +30 -exec rm {} \;
   echo "过期备份文件清理完成"
else 
   echo "MySQL 数据库备份失败"
   exit 1
fi

使用 cron 定时执行:

将这个脚本设置为 cron 任务,以定期自动执行备份操作。
编辑 crontab 文件:
crontab -e

添加一行 cron 表达式,指定每天凌晨 3 点执行脚本:
0 3 * * * /path/to/backup_script.sh

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值