核心用法
cron-backup 提供一套 Shell 脚本工具集,实现 Linux/Unix 环境下的自动化备份工作流。核心功能包括:
1. 定时备份:通过 setup-cron.sh 将备份任务注册到系统 crontab,支持标准 cron 表达式
2. 版本感知备份:backup-versioned.sh 监控版本文件或命令输出,仅在软件更新时触发备份,避免冗余
3. 智能清理:cleanup.sh 按时间或数量策略清理旧备份,防止磁盘耗尽
典型工作流:
- 执行初始备份 → 配置定时任务 → 设置保留策略
- 对可变版本软件(如 OpenClaw)采用版本触发模式,每6小时检测一次变更
显著优点
- 零依赖:纯 Bash 实现,无需额外运行时
- 权限保留:使用 tar.gz 归档,完整保留文件权限与目录结构
- 自动排除:内置过滤 node_modules、.git 等临时目录
- 双保险策略:清理时同时满足"最少保留N份"和"保留M天",防止误删
潜在局限
- 单节点存储:备份与源数据通常位于同一物理机,无法抵御硬件故障
- 无加密传输:本地归档明文存储,敏感数据需额外加密处理
- 恢复粒度:整包 tar.gz 恢复,无法单文件回滚
- 并发风险:未显式处理备份过程中的文件写入冲突
适合人群
- 个人开发者管理 ~/.config、项目代码库
- 运维人员为配置文件建立变更追踪
- 轻量级服务器需要低成本自动化方案
常规风险
| 风险点 | 说明 |
|--------|------|
| 权限配置不当 | 需确保脚本可执行、crontab 用户有目录读写权 |
| 磁盘空间耗尽 | 未配置 cleanup 或保留期过长可能导致 /backups 满 |
| 版本检测失效 | 若版本命令返回非零或格式变化,触发逻辑可能异常 |
| 定时任务静默失败 | 建议重定向 cron 输出到日志文件以便排查 |