Commit Graph

3 Commits

Author SHA1 Message Date
Wang Defa
8d558201a0 fix: 修复合并备份时的文件路径问题
问题描述:
- merge_backups 函数使用 basename 获取文件名
- 但文件实际在子目录中 (folders/folders.tar.gz, mysql/mysql.sql.gz)
- tar -C ${TEMP_DIR} 切换到临时目录后找不到文件

修复方案:
- 使用 ${path#${TEMP_DIR}/} 获取相对于临时目录的相对路径
- 正确构建文件列表传递给 tar 命令
- 确保 tar 能找到正确的文件路径

示例:
- 原: basename /tmp/xxx/folders/folders.tar.gz → folders.tar.gz (错误)
- 新: /tmp/xxx/folders/folders.tar.gz#/tmp/xxx/ → folders/folders.tar.gz (正确)
2025-12-25 15:42:13 +08:00
Wang Defa
1ea8d681ee fix: 修复日志输出干扰函数返回值的问题
问题描述:
- backup_folders() 和 backup_mysql() 函数使用 echo 返回文件路径
- 但 log_info 也输出到 stdout,导致主函数捕获了所有日志而非路径
- 最终 merge_backups 收到空参数,显示"没有需要打包的文件"

修复内容:
- 将所有日志输出重定向到 stderr (>&2)
- 简化 tar 命令的输出处理逻辑
- 确保函数返回值只包含文件路径

影响文件:
- bin/backup.sh - log() 函数添加 >&2 重定向
- bin/cleanup.sh - 所有 log 函数添加 >&2 重定向
2025-12-25 15:40:36 +08:00
Wang Defa
4d00283654 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
2025-12-25 15:02:07 +08:00