🧪 Skills

openclaw-backup-guide

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

v1.0.0
❤️ 0
⬇️ 250
👁 1
Share

Description

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.

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs