定时备份Docker部署的PostgreSQL数据库
#!/bin/bash
# 设置数据库连接信息
DB_USER="your_username"
DB_PASSWORD="your_password"
DB_HOST="your_host"
DB_NAME="your_dbname"
# 设置备份目录和文件名
BACKUP_DIR="/path/to/your/backup/directory"
BACKUP_FILE="${BACKUP_DIR}/${DB_NAME}_$(date +'%Y%m%d%H%M%S').dump"
# 创建备份目录(如果不存在的话)
mkdir -p "$BACKUP_DIR"
# 使用Docker命令执行PostgreSQL数据库备份
docker exec your_postgres_container_name \
pg_dump -U "$DB_USER" -h "$DB_HOST" -W -Fc -b -v --file="$BACKUP_FILE" "$DB_NAME"
# 压缩备份文件
gzip "$BACKUP_FILE"
# 可以添加更多的安全措施,例如加密或者通过SSH传输到安全的位置
# 例如使用openssl进行加密压缩备份
# openssl enc -aes-256-cbc -salt -pass pass:your_password -in "$BACKUP_FILE.gz" -out "${BACKUP_FILE}_enc.gz"
# 删除原始未压缩的备份文件(如果你想的话)
# rm "$BACKUP_FILE"
这个脚本设置了数据库的连接信息,指定了备份的目录和文件名,创建备份,压缩备份,并提供了一个可能的加密备份的例子。这个脚本应该被保存为一个shell脚本文件,并给予执行权限。在使用前,需要替换脚本中的占位符(your\_username, your\_password, your\_host, your\_dbname, your\_postgres\_container\_name, 和 your\_password)为实际的数据库连接信息和容器名称。
评论已关闭