#!/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