
pupupu777/qinglong青龙备份镜像旨在为青龙面板用户提供自动化、智能化的数据备份解决方案。青龙面板作为常用的定时任务管理工具,其配置、任务及依赖环境数据至关重要。本镜像通过容器化方式,实现对青龙面板核心数据的定时备份、存储管理及过期清理,解决手动备份繁琐、易遗漏的问题,确保数据安全与业务连续性。
configs目录)db目录下数据库文件)scripts、repo目录)/ql目录)bashdocker run -d \ --name qinglong-backup \ --restart always \ -v /path/to/qinglong/data:/ql:ro \ # 只读挂载青龙面板数据目录 -v /path/to/backup/storage:/backup # 挂载备份存储目录 -e BACKUP_CRON="0 3 * * *" \ # 每日凌晨3点执行备份 -e RETENTION_DAYS=7 \ # 保留最近7天备份 -e TZ=Asia/Shanghai \ # 设置时区(确保Cron时间准确) whyour/qinglong-backup:latest # 镜像名称(请替换为实际镜像地址)
yamlversion: '3' services: qinglong-backup: image: whyour/qinglong-backup:latest container_name: qinglong-backup restart: always volumes: - /path/to/qinglong/data:/ql:ro # 青龙面板数据目录(需与青龙容器挂载路径一致) - /path/to/backup/storage:/backup # 备份文件存储目录 environment: - BACKUP_CRON=0 3 * * * # Cron表达式,每日3点备份 - BACKUP_DIR=/backup # 容器内备份存储路径(需与挂载目录对应) - QINGLONG_DIR=/ql # 容器内青龙面板数据目录(需与挂载目录对应) - RETENTION_DAYS=7 # 备份文件保留天数 - COMPRESS_LEVEL=6 # 压缩级别(1-9,1最快,9压缩率最高) - TZ=Asia/Shanghai # 时区设置 logging: driver: "json-file" options: max-size: "10m" max-file: "3"
停止青龙面板容器:
bashdocker stop qinglong
从备份文件恢复(假设备份文件为qinglong_backup_20240520.tar.gz):
bash# 解压备份文件至青龙数据目录 tar -zxvf /path/to/backup/storage/qinglong_backup_20240520.tar.gz -C /path/to/qinglong/data
启动青龙面板容器:
bashdocker start qinglong
| 环境变量名 | 作用描述 | 默认值 | 示例值 |
|---|---|---|---|
BACKUP_CRON | 备份定时规则(Cron表达式) | 0 3 * * *(每日3点) | */30 * * * *(每30分钟) |
QINGLONG_DIR | 青龙面板数据目录(容器内路径) | /ql | /app/qinglong |
BACKUP_DIR | 备份文件存储目录(容器内路径) | /backup | /data/backups |
RETENTION_DAYS | 备份文件保留天数(超过自动删除) | 7 | 30(保留30天) |
COMPRESS_LEVEL | 备份文件压缩级别(1-9) | 6 | 9(最高压缩率) |
BACKUP_PREFIX | 备份文件名称前缀 | qinglong_backup | ql_prod_backup |
TZ | 时区设置(影响Cron定时准确性) | UTC | Asia/Shanghai |
若需将备份文件同步至远程存储(如S3兼容对象存储),需额外配置以下环境变量:
| 环境变量名 | 作用描述 | 示例值 |
|---|---|---|
REMOTE_STORAGE | 远程存储类型(支持s3) | s3 |
S3_ENDPOINT | S3兼容存储服务地址 | [***] |
S3_BUCKET | S3存储桶名称 | qinglong-backups |
S3_ACCESS_KEY | S3访问密钥 | AKIAEXAMPLEKEY |
S3_SECRET_KEY | S3密钥 secret | exampleSecretKey*** |
S3_REGION | S3区域 | us-east-1 |
ro)方式挂载至备份容器,避免备份过程中数据写入冲突BACKUP_CRON符合标准Cron格式(分 时 日 月 周),可通过Cron表达式生成工具验证${BACKUP_PREFIX}_YYYYMMDD_HHMMSS.tar.gz,便于时间追溯docker logs qinglong-backup查看备份过程日志,排查备份失败原因Q:备份文件体积过大?
A:可提高COMPRESS_LEVEL(如设为9),或通过RETENTION_DAYS减少保留份数,或排除非必要目录(需通过EXCLUDE_DIRS环境变量配置,如EXCLUDE_DIRS=/ql/logs)。
Q:Cron定时未触发备份?
A:检查TZ时区配置是否正确,确保与宿主机时区一致;通过日志确认Cron服务是否正常运行。
Q:恢复后青龙面板无法启动?
A:确认备份文件解压路径与青龙面板数据目录完全一致,且文件权限(如属主、读写权限)与原目录匹配。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务