#!/bin/bash
# 设定日期变量,以在备份文件名中使用
DATE=$(date +%Y%m%d%H%M)
# MySQL 容器的 ID 或者名称
CONTAINER=""
# MySQL 用户名和密码
USER="root"
PASSWORD="123456"
DATABASE="test"
# 备份文件的存放目录
BACKUP_DIR="/opt/db"
# 创建备份文件名
BACKUP_FILE="$BACKUP_DIR/$DATABASE-$DATE.sql"
# 使用 docker exec 和 mysqldump 创建备份
docker exec $CONTAINER /usr/bin/mysqldump -u $USER -p$PASSWORD $DATABASE > $BACKUP_FILE
# 如果你想要把备份文件压缩,你可以使用 gzip
gzip $BACKUP_FILE
# 输出完成信息
echo "Backup of $DATABASE completed! Filename: $BACKUP_FILE.gz"
添加脚本到定时任务
# 编辑定时任务
crontab -e
# 在内容中加入上边脚本的路径,以下为每天凌晨2点执行
0 2 * * * /opt/db/backdb.sh