tiredofit/docker-db-backup高级技巧:S3云存储与定时清理策略

【免费下载链接】docker-db-backup tiredofit/docker-db-backup: 是一个用于备份 MySQL 和 PostgreSQL 数据库的 Docker 容器,它使用 Tar 命令备份数据库数据,并可以将备份数据加密。适合用于在 Docker 环境下备份 MySQL 和 PostgreSQL 数据库,特别是对于需要自动化备份和加密数据库数据的场景。特点是 Docker 容器、支持 MySQL 和 PostgreSQL、备份和加密数据库数据。 【免费下载链接】docker-db-backup 项目地址: https://gitcode.com/gh_mirrors/do/docker-db-backup

tiredofit/docker-db-backup是一个强大的Docker容器,专为备份MySQL和PostgreSQL数据库设计,支持自动化备份和数据加密。本文将详细介绍如何配置S3云存储集成和定时清理策略,帮助你构建更安全、高效的数据库备份系统。

📦 S3云存储配置:实现备份数据云端化

将备份数据存储到S3兼容对象存储服务(如AWS S3、MinIO等)是保障数据安全的重要措施。通过以下步骤,你可以轻松实现备份文件的自动上传和管理。

核心环境变量配置

examples/compose.yml中,通过设置以下环境变量启用S3功能:

environment:
  # S3基础配置
  - DEFAULT_S3_BUCKET=my-backup-bucket       # S3存储桶名称
  - DEFAULT_S3_KEY_ID=AKIAEXAMPLEKEY        # S3访问密钥ID
  - DEFAULT_S3_KEY_SECRET=secretkeyexample  # S3密钥
  - DEFAULT_S3_REGION=us-east-1             # 区域
  - DEFAULT_S3_PATH=/backups                # 存储路径
  - DEFAULT_S3_PROTOCOL=https               # 协议(http/https)

高级S3参数(可选)

对于私有S3服务(如MinIO),可通过以下参数自定义端点:

  - DEFAULT_S3_HOST=minio.example.com       # S3服务地址
  - DEFAULT_S3_PORT=9000                    # 自定义端口
  - DEFAULT_S3_CERT_CA_FILE=/certs/ca.pem   # 自定义CA证书

配置完成后,备份文件将自动上传至指定S3存储桶,实现数据异地容灾。相关逻辑实现可参考install/assets/functions/10-db-backup中的S3上传模块。

🧹 定时清理策略:释放存储空间

随着时间推移,备份文件会占用大量存储空间。通过配置自动清理规则,可以定期删除过期备份,保持存储效率。

基础清理配置

examples/compose.yml中设置全局清理规则:

environment:
  # 全局默认清理规则(分钟)
  - DEFAULT_CLEANUP_TIME=10080              # 7天(60*24*7)

数据库级别的清理策略

支持为不同数据库设置独立清理规则,覆盖全局默认值:

  # 数据库1的清理规则(3小时)
  - DB01_CLEANUP_TIME=180
  # 数据库2的清理规则(1天)
  - DB02_CLEANUP_TIME=1440

清理逻辑通过install/assets/functions/10-db-backup中的cleanup_old_data函数实现,支持按文件修改时间自动删除过期备份。

🔄 完整配置示例

以下是集成S3存储和定时清理的完整compose.yml示例片段:

services:
  example-db-backup:
    image: tiredofit/db-backup
    environment:
      # 基础配置
      - TIMEZONE=Asia/Shanghai
      - DEFAULT_BACKUP_INTERVAL=1440         # 每天备份
      - DEFAULT_BACKUP_BEGIN=0300            # 凌晨3点开始
      
      # S3配置
      - DEFAULT_S3_BUCKET=my-db-backups
      - DEFAULT_S3_KEY_ID=your-access-key
      - DEFAULT_S3_KEY_SECRET=your-secret-key
      - DEFAULT_S3_REGION=cn-north-1
      - DEFAULT_S3_PATH=/mysql
      
      # 清理配置
      - DEFAULT_CLEANUP_TIME=43200           # 30天清理
      
      # 数据库连接信息
      - DB01_TYPE=mariadb
      - DB01_HOST=example-db-host
      - DB01_NAME=example
      - DB01_USER=backupuser
      - DB01_PASS=backuppassword

📝 使用建议

  1. 密钥安全:S3密钥等敏感信息建议通过Docker Secrets或环境变量文件管理,避免直接写在配置文件中

  2. 多级备份:结合本地备份和S3云存储,实现"本地+异地"双重备份策略

  3. 定期测试:通过backup-now命令手动触发备份,验证S3上传和清理功能是否正常

  4. 日志监控:通过查看容器日志(docker logs example-db-backup)监控备份状态

通过合理配置S3云存储和定时清理策略,tiredofit/docker-db-backup可以为你的数据库提供企业级的备份解决方案,既保障数据安全,又避免存储资源浪费。

需要获取最新镜像或更多配置选项,请访问项目仓库:git clone https://gitcode.com/gh_mirrors/do/docker-db-backup

【免费下载链接】docker-db-backup tiredofit/docker-db-backup: 是一个用于备份 MySQL 和 PostgreSQL 数据库的 Docker 容器,它使用 Tar 命令备份数据库数据,并可以将备份数据加密。适合用于在 Docker 环境下备份 MySQL 和 PostgreSQL 数据库,特别是对于需要自动化备份和加密数据库数据的场景。特点是 Docker 容器、支持 MySQL 和 PostgreSQL、备份和加密数据库数据。 【免费下载链接】docker-db-backup 项目地址: https://gitcode.com/gh_mirrors/do/docker-db-backup

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐