网淘吧来吧,欢迎您!

Cron Backup技能使用说明

2026-03-29 新闻来源:网淘吧 围观:18
电脑广告
手机广告

Cron 备份

具备版本检测与智能清理功能的自动化备份调度。

快速开始

单次备份

# Backup a directory with timestamp
./scripts/backup.sh /path/to/source /path/to/backup/dir

# Backup with custom name
./scripts/backup.sh /path/to/source /path/to/backup/dir my-backup

计划每日备份

# Set up daily backup at 2 AM
./scripts/setup-cron.sh daily /path/to/source /path/to/backup/dir "0 2 * * *"

版本感知备份

# Backup only when version changes
./scripts/backup-versioned.sh /path/to/source /path/to/version/file /path/to/backup/dir

清理旧备份

# Keep only last 7 days of backups
./scripts/cleanup.sh /path/to/backup/dir 7

核心功能

1. 目录备份

  • 创建带时间戳的 tar.gz 归档文件
  • 保留文件权限与目录结构
  • 排除常见临时文件(node_modules、.git 等)

2. 版本触发备份

  • 监控版本文件或命令输出
  • 仅在版本变更时执行备份
  • 适用于软件更新场景

3. 计划执行

  • 与系统 cron 集成
  • 支持自定义调度计划
  • 记录执行结果日志

4. 自动清理

  • 自动删除超过 N 天的旧备份
  • 保持最小备份数量
  • 防止磁盘空间耗尽

脚本

所有脚本位于scripts/目录:

Cron Backup

  • backup.sh- 单次备份执行
  • backup-versioned.sh- 版本触发备份
  • setup-cron.sh- 定时任务设置
  • cleanup.sh- 旧备份清理
  • list-backups.sh- 列出可用备份

备份命名规范

备份遵循以下模式:{名称}_年月日_时分秒.tar.gz

示例:

  • openclabak_20260204_101500.tar.gz
  • myapp_20260204_000000.tar.gz

工作流程

设置自动化备份

  1. 确定备份策略

    • 备份什么(源目录)
    • 存储位置(备份目录)
    • 备份频率(计划)
    • 保留策略(清理天数)
  2. 运行初始备份

    ./scripts/backup.sh /source /backup
    
  3. 设置计划

    ./scripts/setup-cron.sh daily /source /backup "0 2 * * *"
    
  4. 配置清理

    ./scripts/setup-cron.sh cleanup /backup "" "0 3 * * *" 7
    

版本感知备份工作流

适用于版本会变化的软件(例如 OpenClaw):

  1. 确定版本来源

    • 命令:openclaw --version
    • 文件:/path/to/version.txt
  2. 设置版本化备份

    ./scripts/backup-versioned.sh /app /app/version.txt /backups/app
    
  3. 安排版本检查

    ./scripts/setup-cron.sh versioned /app /backups/app "0 */6 * * *"
    

常见模式

模式 1:每日用户数据备份

# Backup workspace daily, keep 30 days
./scripts/setup-cron.sh daily /home/user/workspace /backups/workspace "0 2 * * *"
./scripts/setup-cron.sh cleanup /backups/workspace "" "0 3 * * *" 30

模式 2:版本感知应用程序备份

# Backup when application updates
./scripts/setup-cron.sh versioned /opt/myapp /backups/myapp "0 */6 * * *"
./scripts/setup-cron.sh cleanup /backups/myapp "" "0 4 * * 0" 10

模式 3:多目录备份

# Backup multiple directories
./scripts/backup.sh /home/user/.config /backups/config
./scripts/backup.sh /home/user/projects /backups/projects

Cron 计划格式

标准cron格式:分钟 小时 日 月 星期几

常用调度计划:

  • 每日凌晨2点:0 2 * * *
  • 每6小时:0 */6 * * *
  • 每周日执行:0 0 * * 0
  • 每30分钟:*/30 * * * *

清理策略

  • 基于时间:保留N天的备份
  • 基于数量:保留最近N个备份
  • 组合策略:默认至少保留7天,但至少保留3个备份

故障排除

  • 权限被拒绝:确保脚本具有可执行权限(chmod +x scripts/*.sh
  • Cron未运行检查cron服务状态 (systemctl status cron)
  • 磁盘已满:手动运行清理或缩短保留期限
  • 备份失败:检查源目录是否存在且可读

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第327190名访客 今日有245篇新文章/评论