Files
docker-backup/config/backup.yml.example
T
wangdefa a00314964d feat(backup): 添加单文件备份功能
- 添加 files 配置节,支持备份多个单独文件
- 实现 backup_files() 函数,处理单文件备份逻辑
- 更新 merge_backups() 函数,支持合并 files 备份
- 更新配置文件示例,添加 files 配置说明
- 更新 README 文档:
  - 添加单文件备份功能说明
  - 添加 files 配置示例
  - 添加单文件恢复详细步骤
  - 更新备份文件结构说明
  - 添加单文件完整性验证方法
  - 添加 v1.3.0 更新日志

使用场景:
- 备份配置文件(如 /etc/nginx/nginx.conf)
- 备份环境变量文件(如 /opt/app/.env)
- 备份其他重要的单个文件

备份结构:
backup.tar.gz
├── folders/folders.tar.gz  # 文件夹备份
├── files/files.tar.gz      # 单文件备份
└── mysql/mysql.sql.gz      # 数据库备份
2025-12-26 13:06:33 +08:00

88 lines
2.0 KiB
Plaintext

# Docker Backup 配置文件示例
# 使用前请复制此文件为 backup.yml 并根据实际情况修改配置
# 备份基础配置
backup:
# 备份文件存放目录(绝对路径)
output_dir: "/var/backups/docker-backup"
# 备份文件名前缀
prefix: "backup"
# 旧备份清理策略
retention:
# 是否启用自动清理
enabled: true
# 保留最近 N 天的备份
keep_days: 7
# 或者保留最近 N 个备份文件(如果设置了 keep_days,此项将被忽略)
# keep_count: 10
# 文件夹备份配置
folders:
# 是否启用文件夹备份
enabled: true
# 需要备份的文件夹列表(支持多个)
sources:
- "/var/lib/docker/volumes"
- "/opt/app/data"
# 需要排除的文件夹/文件模式(相对于 sources 的路径)
excludes:
- "*/logs"
- "*/temp"
- "*/cache"
- "*/.git"
- "*/node_modules"
# 单文件备份配置
files:
# 是否启用单文件备份
enabled: true
# 需要备份的文件列表(支持多个)
sources:
- "/etc/docker-backup/config.yml"
- "/etc/nginx/nginx.conf"
- "/opt/app/.env"
# MySQL 数据库备份配置
mysql:
# 是否启用 MySQL 备份
enabled: true
# MySQL 容器名称
container_name: "mysql"
# 数据库连接配置
username: "root"
password: "your_password_here"
# 要备份的数据库列表(留空表示备份所有数据库)
databases:
- "database1"
- "database2"
# 或者设置为 "all" 备份所有数据库
# databases: "all"
# 日志配置
logging:
# 是否启用日志
enabled: true
# 日志文件路径
log_file: "/var/log/docker-backup.log"
# 日志级别:DEBUG, INFO, WARN, ERROR
level: "INFO"
# 通知配置(可选)
notification:
# 是否启用通知
enabled: false
# 通知方式:email, webhook
method: "webhook"
# Webhook URL(用于发送备份状态)
webhook_url: "https://example.com/webhook"
# 仅在备份失败时通知
on_failure_only: true