- Updated: March 17, 2026
- 6 min read
Backing Up OpenClaw: Step‑by‑Step Guide
You can back up OpenClaw state with the built‑in openclaw backup commands, schedule automated backups via cron or systemd timers, restore from any archive using openclaw restore, and enforce data‑retention policies with simple shell scripts or the UBOS workflow automation studio.
1. Introduction
OpenClaw powers AI‑driven chat agents, knowledge bases, and automation workflows. As a system administrator or DevOps engineer, protecting that state—configuration, credentials, memory, and workspace files—is non‑negotiable. This guide walks you through a complete backup‑restore lifecycle, from a one‑off CLI backup to a fully automated retention pipeline, all while referencing the official OpenClaw documentation and UBOS best practices.
2. Why backup OpenClaw?
- Prevent data loss from hardware failure, accidental deletions, or malicious attacks.
- Enable rapid migration to new servers or UBOS hosting environments (host OpenClaw on UBOS).
- Maintain compliance with internal policies and external regulations that require retention of conversational logs and user data.
- Facilitate testing of upgrades or new AI models without risking production data.
3. Prerequisites
Before you start, ensure the following:
- OpenClaw version ≥ 2026.3.8 (includes native backup commands). Verify with
openclaw --version. - Access to a non‑root user with write permissions to the backup destination (e.g.,
/var/backups/openclaw). - Optional: A remote Git repository for off‑site storage (see the LobeHub skill OpenClaw Backup & Restore).
- UBOS workflow automation studio installed if you prefer a visual retention pipeline (Workflow automation studio).
4. Step‑by‑step backup procedure
4.1 Using the OpenClaw CLI
The CLI offers granular control. Below are the most common flags:
# Create a full backup (state, credentials, sessions, workspace)
openclaw backup create --output ~/Backups/openclaw-$(date +%F-%H%M).tar.gz
# Verify the archive immediately
openclaw backup create --output ~/Backups/openclaw-$(date +%F-%H%M).tar.gz --verify
# Backup only the JSON config (useful for quick config versioning)
openclaw backup create --only-config --output ~/Backups/openclaw-config-$(date +%F).json
# Exclude workspace to keep the archive lightweight
openclaw backup create --no-include-workspace --output ~/Backups/openclaw-no-ws-$(date +%F).tar.gz
All commands write a .tar.gz archive that can be stored locally, on a network share, or pushed to a remote Git repo.
4.2 Scheduling automated backups
Automation eliminates human error. Choose between cron (simple) or systemd timers (more robust).
Using cron
# Edit the crontab for the openclaw user
crontab -e
# Daily backup at 02:30 AM
30 2 * * * /usr/local/bin/openclaw backup create --output /var/backups/openclaw/$(date +\%F)-daily.tar.gz --verify
# Weekly backup (Sunday) at 03:00 AM, keep only config
0 3 * * 0 /usr/local/bin/openclaw backup create --only-config --output /var/backups/openclaw/$(date +\%F)-weekly-config.json
Using systemd timers
Systemd provides better logging and failure handling.
# /etc/systemd/system/openclaw-backup.service
[Unit]
Description=OpenClaw backup service
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/openclaw backup create --output /var/backups/openclaw/$(date +%F-%H%M).tar.gz --verify
# /etc/systemd/system/openclaw-backup.timer
[Unit]
Description=Run OpenClaw backup daily
[Timer]
OnCalendar=*-*-* 02:30:00
Persistent=true
[Install]
WantedBy=timers.target
Enable the timer with systemctl enable --now openclaw-backup.timer. The backup will now run automatically and log to journalctl -u openclaw-backup.service.
5. Restoring from a backup
5.1 Manual restore
Restoration is a two‑step process: extract the archive, then run the OpenClaw doctor to validate.
# Stop the running gateway (adjust service name if needed)
systemctl stop openclaw-gateway
# Extract the backup (replace with your actual file)
tar -xzvf /var/backups/openclaw/2024-10-01-daily.tar.gz -C $HOME/.openclaw
# Reinstall node dependencies (if workspace was restored)
cd $HOME/.openclaw/workspace && npm ci
# Run health check
openclaw doctor
# Restart the gateway
systemctl start openclaw-gateway
If the openclaw doctor reports any missing keys, re‑import them from a secure vault before starting the gateway.
5.2 Automated restore workflow
For disaster recovery, you can embed the restore steps into a UBOS workflow. The Workflow automation studio lets you chain actions with conditional checks.
# Example UBOS workflow (YAML‑like pseudo code)
- name: Stop OpenClaw
command: systemctl stop openclaw-gateway
- name: Pull latest backup from Git
command: git clone https://git.example.com/openclaw-backups.git /tmp/backup
- name: Extract backup
command: tar -xzvf /tmp/backup/$(date +%F)-latest.tar.gz -C $HOME/.openclaw
- name: Verify health
command: openclaw doctor
on_failure: notify-admin
- name: Restart OpenClaw
command: systemctl start openclaw-gateway
Trigger this workflow via a webhook, a scheduled timer, or manually from the UBOS UI.
6. Defining data‑retention policies
6.1 Retention configuration examples
Retention policies balance storage cost against compliance needs. Below are three common patterns:
- 30‑day rolling window: Keep daily backups for the last 30 days, then delete older archives.
- Weekly‑monthly tier: Retain daily backups for 7 days, weekly backups for 4 weeks, and monthly backups for 12 months.
- Compliance‑grade archive: Encrypt and store a quarterly snapshot in an immutable object store (e.g., AWS Glacier).
Implement the policy with a simple Bash script that runs as a nightly cron job.
# /usr/local/bin/cleanup-openclaw-backups.sh
BACKUP_DIR="/var/backups/openclaw"
# Keep last 30 daily files
find $BACKUP_DIR -type f -name "*-daily.tar.gz" -mtime +30 -delete
# Keep last 4 weekly files (assumes naming pattern *-weekly-*.tar.gz)
find $BACKUP_DIR -type f -name "*-weekly-*.tar.gz" -mtime +28 -exec bash -c '
# Count weekly files older than 28 days, keep newest 4
files=($(ls -t "$1"/*-weekly-*.tar.gz))
for ((i=4; i<${#files[@]}; i++)); do
rm -f "${files[i]}"
done
' _ {} \;
# Monthly retention (keep 12 months)
find $BACKUP_DIR -type f -name "*-monthly-*.tar.gz" -mtime +365 -delete
6.2 Cleaning up old backups
When using the UBOS workflow automation studio, you can visualize the cleanup as a flow node:
- Node 1: List backup files (filter by age).
- Node 2: Delete files that exceed the retention threshold.
- Node 3: Log the operation to
/var/log/openclaw-retention.log.
This visual approach reduces scripting errors and provides audit trails for compliance teams.
7. Reference to official OpenClaw documentation
The commands and flags used in this guide are documented in the official OpenClaw CLI reference:
Always cross‑check your version‑specific options before deploying to production.
8. Conclusion and next steps
Backing up OpenClaw is straightforward with the native CLI, but true resilience comes from automation, verification, and a well‑defined retention policy. By integrating these steps into UBOS’s workflow automation studio, you gain a single pane of glass for monitoring, alerting, and compliance reporting.
Ready to put this into practice? Here are three immediate actions:
- Run a manual backup today and verify the archive.
- Deploy the
cronorsystemdtimer example to your production host. - Configure a retention script or UBOS workflow that matches your organization’s policy.
For deeper integration, explore UBOS’s broader ecosystem:
- UBOS platform overview
- UBOS pricing plans
- Enterprise AI platform by UBOS
- UBOS partner program
- UBOS templates for quick start
- About UBOS
- UBOS solutions for SMBs
- UBOS for startups
- AI marketing agents
- Web app editor on UBOS
- UBOS portfolio examples
By following this guide, you’ll safeguard your OpenClaw deployments, reduce downtime, and stay compliant—while leveraging the full power of UBOS’s AI‑ready infrastructure.