Install
openclaw skills install openclaw-cloud-backupBack up and restore OpenClaw configuration to S3-compatible cloud storage (AWS S3, Cloudflare R2, Backblaze B2, MinIO, DigitalOcean Spaces). Use for local backups, cloud upload, restore, and retention cleanup.
openclaw skills install openclaw-cloud-backupBack up OpenClaw configuration locally, with optional sync to S3-compatible cloud storage.
Local backups:
bash, tar, jqCloud sync (AWS S3, Cloudflare R2, Backblaze B2, MinIO, DigitalOcean Spaces):
aws CLI v2 — required for upload/download/list/restore from cloudOptional:
gpg — for client-side encryptionreferences/provider-setup.md — endpoint, region, keys, and least-privilege setup per providerreferences/security-troubleshooting.md — security guardrails and common failure fixesreferences/local-config.md — optional local settings (paths, retention, behavior)Secrets are stored in OpenClaw config at skills.entries.cloud-backup.*:
bucket - S3 bucket name (required)
region - AWS region (default: us-east-1)
endpoint - Custom endpoint for non-AWS providers
awsAccessKeyId - Access key ID
awsSecretAccessKey - Secret access key
awsProfile - Named AWS profile (alternative to keys)
gpgPassphrase - For client-side encryption (optional)
Tell the agent:
"Set up cloud-backup with bucket
my-backup-bucket, regionus-east-1, access keyAKIA...and secret..."
The agent will run gateway config.patch to store credentials securely.
# Store secrets in OpenClaw config
openclaw config patch 'skills.entries.cloud-backup.bucket="my-bucket"'
openclaw config patch 'skills.entries.cloud-backup.region="us-east-1"'
openclaw config patch 'skills.entries.cloud-backup.awsAccessKeyId="AKIA..."'
openclaw config patch 'skills.entries.cloud-backup.awsSecretAccessKey="..."'
# For non-AWS providers, also set endpoint:
openclaw config patch 'skills.entries.cloud-backup.endpoint="https://..."'
For non-secret settings (paths, retention), see references/local-config.md and copy the config block to ~/.openclaw-cloud-backup.conf.
bash "{baseDir}/scripts/openclaw-cloud-backup.sh" setup
bash "{baseDir}/scripts/openclaw-cloud-backup.sh" status
| Command | Description |
|---|---|
setup | Show configuration guide and test connection |
status | Print effective config and dependency status |
backup [full|skills|settings] | Create and upload backup |
list | List cloud backups |
restore <name> [--dry-run] [--yes] | Download and restore backup |
cleanup | Prune old backups by retention rules |
setup to configure credentials (via agent or manually).status to verify everything is connected.backup full for first backup.list.restore <name> --dry-run first, then without --dry-run.Default: daily backups. When running a backup and no cron job exists for this skill, automatically schedule a daily backup and notify the user. Example: "Backup complete. I've scheduled daily backups at 02:00 — let me know if you want a different schedule."
Use OpenClaw's native cron for automated backups. User can customize:
"Schedule daily cloud backups at 2am"
"Schedule weekly backup cleanup on Sundays at 3am"
The agent will create cron jobs that run the backup script. Example job configurations:
Daily full backup at 02:00:
{
"schedule": { "kind": "cron", "expr": "0 2 * * *" },
"payload": { "kind": "agentTurn", "message": "Run cloud-backup: backup full" },
"sessionTarget": "isolated"
}
Weekly cleanup on Sunday at 03:00:
{
"schedule": { "kind": "cron", "expr": "0 3 * * 0" },
"payload": { "kind": "agentTurn", "message": "Run cloud-backup: cleanup" },
"sessionTarget": "isolated"
}
For local-only backups, set UPLOAD=false in the message or config.
Settings are loaded in this order (first wins):
skills.entries.cloud-backup.* (recommended)~/.openclaw-cloud-backup.conf (legacy/fallback)--dry-run before extracting.