问题:mysql使用docker部署,如果定时备份mysql里的数据库?
解决:使用脚本+crontab定时运行
方法:
vim mysql_backup.sh
#!/bin/bash
ENV_FILE="/opt/www/myproject/.env"
# 2. 加载 .env 文件中的变量
# 使用 set -a 导出所有变量,然后 source .env,最后 set +a 取消自动导出
set -a
source "$ENV_FILE"
set +a
# --- 配置部分 ---
# MySQL 容器的名称
CONTAINER_NAME="airborne-wifi-delivery-${APP_VERSION//./}-mysql-1"
# 宿主机上的备份文件存储目录
BACKUP_DIR="/opt/www/mysql_backups"
# 要备份的数据库名,使用 --all-databases 可备份所有库
DB_NAME="$DB_NAME"
# 备份文件前缀
BACKUP_FILE_PREFIX="backup"
# 保留最近 N 天的备份
RETENTION_DAYS=7