Backup Rotator — 备份轮换器
v1.0.0智能备份轮换和保留管理器。创建备份,执行灵活的保留策略(祖父-父-子),验证完整性,并清除旧备份...
运行时依赖
安装命令
点击复制本土化适配说明
Backup Rotator — 备份轮换器 安装说明: 安装命令:["openclaw skills install backup-rotator"]
技能文档
备份轮替器 创建、轮替和验证备份,具有可配置的保留策略。仅使用Python标准库,无需pip安装。
快速开始 # 创建备份 python3 skills/backup-rotator/scripts/backup_rotator.py --backup /path/to/source /path/to/backups # 创建带压缩的备份 python3 skills/backup-rotator/scripts/backup_rotator.py --backup /path/to/dir /backups --compress # 列出现有备份 python3 skills/backup-rotator/scripts/backup_rotator.py --list /backups --name myproject # 轮替(清除旧备份) python3 skills/backup-rotator/scripts/backup_rotator.py --rotate /backups --name myproject # 干跑(查看将被删除的内容) python3 skills/backup-rotator/scripts/backup_rotator.py --rotate /backups --name myproject --dry-run # 验证备份完整性 python3 skills/backup-rotator/scripts/backup_rotator.py --verify /backups
保留策略(默认) 类别 保留 描述 每日 7 最近7天的每日备份 每周 4 最近4周的周日备份 每月 3 每月的前7天 旧备份 0 超过所有保留策略的备份将被删除 默认策略至少保留14个备份。
配置文件(用于cron) 创建一个JSON配置文件以实现完全自动化的备份和轮替: { "backup_source": "/var/lib/postgresql/database.dump", "backup_dest": "/backups/db", "backup_name": "postgres", "keep_daily": 7, "keep_weekly": 4, "keep_monthly": 3, "compress": true, "verify": true } 然后运行: python3 skills/backup-rotator/scripts/backup_rotator.py --cron config.json
输出: 备份轮替器 — 2026-05-10 13:30:00 =============================================== 名称前缀:postgres 保留每日:7 保留每周:4 保留每月:3 压缩:是 验证:是 创建备份... 压缩 /var/lib/postgresql/database.dump → /backups/db/postgres_20260510-133000.tar.gz 大小:42.3M SHA256:a1b2c3d4e5f6... 轮替旧备份... 摘要:12个保留,3个删除 保留:postgres_20260510-133000.tar.gz (42.3M) - 保留(每日) postgres_20260509-020000.tar.gz (41.8M) - 保留(每日) ... 删除:postgres_20260428-020000.tar.gz (40.1M) - 删除(超过保留策略) 验证剩余备份... postgres_20260510-133000.tar.gz SHA256:a1b2... postgres_20260509-020000.tar.gz SHA256:b2c3...
常用命令 命令 动作 --backup SOURCE DEST 创建带时间戳的备份 --list DIR 列出所有备份,包括年龄和类别 --rotate DIR 应用保留策略,删除旧备份 --dry-run 预览轮替,不删除 --verify DIR 检查所有备份的SHA256校验和 --cron config.json 完全自动化运行:备份 + 轮替 + 验证 --name PREFIX 根据名称前缀过滤备份文件 --compress 压缩目录备份到tar.gz --no-verify 跳过SHA256验证
使用Cron实现自动化 将以下内容添加到crontab中以实现每日自动备份: # 每天2点 0 2 * cd /home/user && python3 skills/backup-rotator/scripts/backup_rotator.py --cron /home/user/configs/backup-postgres.json >> /var/log/backup-rotator.log 2>&1
要求 Python 3.6+(无需pip安装) 仅使用标准库:os、shutil、hashlib、json、argparse 适用于Linux、macOS(部分) 无外部API调用 — 完全离线