feat: 实现 Docker 备份系统,支持远程一键安装
实现功能: - 文件夹和 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
This commit is contained in:
76
config/backup.yml.example
Normal file
76
config/backup.yml.example
Normal file
@@ -0,0 +1,76 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user