实现功能: - 文件夹和 MySQL 容器数据库备份 - tar.gz 压缩和自动清理旧备份 - systemd 定时任务集成 - 远程一键安装脚本(通过 Gitea 仓库) - 完整的 llmdoc 文档系统 安装方式: bash <(curl -sL https://gitea.bcde.io/wangdefa/docker-backup/raw/branch/main/install.sh) 配置文件位置:/etc/docker-backup/config.yml 命令:docker-backup, docker-backup-cleanup
77 lines
1.7 KiB
Plaintext
77 lines
1.7 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"
|
||
|
||
# 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
|