跳至主要内容
小龙虾小龙虾AI
🤖

openclaw-backup-guide

Automates hourly OpenClaw workspace backups with SQLite database export, optional NAS sync via rsync, and GitHub version control commits and pushes.

下载162
星标0
版本1.0.0
开发工具
安全通过
⚙️脚本

技能说明

Backup Automation Skill

Automated backup system for OpenClaw workspaces with database, NAS, and GitHub integration.

What It Does

This skill provides automated hourly backups:

  • Database backup to SQLite
  • NAS sync via rsync
  • Git commit + push to GitHub for version control

Perfect for maintaining workspace continuity and disaster recovery.

Setup

1. Configure NAS Target (Optional)

Edit backup-nas.sh to set your NAS mount point:

NAS_PATH="/path/to/your/nas/backup"

If you don't use NAS, the script will skip that step gracefully.

2. Set Up Cron Job

Add to your crontab for hourly backups:

0 * * * * cd /path/to/workspace && node scripts/backup-db.js; bash scripts/backup-nas.sh; git add -A && git commit -m "Hourly backup: $(date '+%Y-%m-%d %H:%M %Z')" && git push origin main

OR use OpenClaw's built-in cron:

openclaw cron add --schedule "0 * * * *" --task "Hourly workspace backup" --command "cd /path/to/workspace && node scripts/backup-db.js && bash scripts/backup-nas.sh && git add -A && git commit -m 'Auto backup' && git push"

3. GitHub Authentication

Ensure you have:

  • Git configured with your credentials
  • GitHub SSH key added (or HTTPS token set)
  • Remote origin configured: git remote -v

Usage

Manual Backup

cd /path/to/your/workspace
node backup-db.js
bash backup-nas.sh
git add -A && git commit -m "Manual backup" && git push

Check Backup Status

# Check last backup commit
git log --oneline -1

# Check database backup
ls -lh workspace.db*

# Check NAS sync
ls -lh /your/nas/path/

Files

  • backup-db.js - Node.js script for database backup
  • backup-nas.sh - Bash script for NAS rsync
  • skill.json - Skill metadata
  • SKILL.md - This file (usage guide)
  • README.md - Overview

Requirements

  • Node.js 18+ (for backup-db.js)
  • Git (for version control)
  • rsync (for NAS sync, optional)
  • GitHub repository (for remote storage)

Customization

Change Backup Frequency

Edit the cron schedule:

  • Every hour: 0 * * * *
  • Every 30 min: */30 * * * *
  • Every 6 hours: 0 */6 * * *
  • Daily at 3am: 0 3 * * *

Add Custom Backup Logic

Extend backup-db.js with additional backup targets:

// Add S3 sync, Dropbox upload, etc.

Backup Retention

To limit backup history in Git:

# Squash old commits periodically
git rebase -i HEAD~100

Troubleshooting

Backup not running:

  • Check cron logs: tail -f /var/log/cron
  • Verify script permissions: chmod +x backup-nas.sh

Git push fails:

  • Verify SSH key: ssh -T git@github.com
  • Check remote: git remote -v

NAS sync issues:

  • Test rsync manually: rsync -av /source /destination
  • Check mount: mount | grep nas

Security Notes

  • Database backups may contain sensitive data
  • Ensure your GitHub repo is private if storing sensitive info
  • NAS should be on a secure network (Tailscale/VPN recommended)
  • Consider encryption for sensitive backups

License

MIT - Use freely, modify as needed.

Author

Created by Lance (lancelot3777) for OpenClaw workspace management.

如何使用「openclaw-backup-guide」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「openclaw-backup-guide」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能