- 添加 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 # 数据库备份
88 lines
2.0 KiB
Plaintext
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
|