← Back to Skills
General

update-plus

hopyky By hopyky 👁 15 views ▲ 0 votes

Full backup, update, and restore for OpenClaw - config, workspace

GitHub
---
name: update-plus
description: Full backup, update, and restore for OpenClaw - config, workspace, and skills with auto-rollback
version: 4.0.3
metadata: {"openclaw":{"emoji":"🔄","requires":{"bins":["git","jq","rsync"]}}}
---

# 🔄 Update Plus

A comprehensive backup, update, and restore tool for your OpenClaw environment. Protect your config, workspace, and skills with automatic rollback, encrypted backups, and cloud sync.

## Quick Start

```bash
# Check for available updates
update-plus check

# Create a full backup
update-plus backup

# Update everything (creates backup first)
update-plus update

# Preview changes (no modifications)
update-plus update --dry-run

# Restore from backup
update-plus restore openclaw-backup-2026-01-25-12:00:00.tar.gz
```

## Features

| Feature | Description |
|---------|-------------|
| **Full Backup** | Backup entire environment (config, workspace, skills) |
| **Auto Backup** | Creates backup before every update |
| **Auto Rollback** | Reverts to previous commit if update fails |
| **Smart Restore** | Restore everything or specific parts (config, workspace) |
| **Multi-Directory** | Separate prod/dev skills with independent update settings |
| **Encrypted Backups** | Optional GPG encryption |
| **Cloud Sync** | Upload backups to Google Drive, S3, Dropbox via rclone |
| **Notifications** | Get notified via WhatsApp, Telegram, or Discord |
| **Connection Retry** | Auto-retry on network failure (configurable) |

## Installation

```bash
git clone https://github.com/hopyky/update-plus.git ~/.openclaw/skills/update-plus
```

### Add to PATH

```bash
mkdir -p ~/bin
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
ln -sf ~/.openclaw/skills/update-plus/bin/update-plus ~/bin/update-plus
```

## Configuration

Create `~/.openclaw/update-plus.json`:

```json
{
  "backup_dir": "~/.openclaw/backups",
  "backup_before_update": true,
  "backup_count": 5,
  "backup_paths": [
    {"path": "~/.openclaw", "label": "config", "exclude": ["backups", "logs"]},
    {"path": "~/.openclaw/workspace", "label": "workspace", "exclude": ["node_modules"]}
  ],
  "skills_dirs": [
    {"path": "~/.openclaw/skills", "label": "prod", "update": true}
  ],
  "notifications": {
    "enabled": false,
    "target": "+1234567890"
  },
  "connection_retries": 3,
  "connection_retry_delay": 60
}
```

## Commands

| Command | Description |
|---------|-------------|
| `update-plus check` | Check for available updates |
| `update-plus backup` | Create a full backup |
| `update-plus update` | Update OpenClaw and all skills |
| `update-plus update --dry-run` | Preview changes |
| `update-plus restore <file>` | Restore from backup |
| `update-plus install-cron` | Install automatic updates (daily 2 AM) |
| `update-plus uninstall-cron` | Remove cron job |

## Changelog

### v4.0.3
- Check for updates BEFORE backup (skip backup if already up to date)
- No more wasted bandwidth/storage when nothing to update

### v4.0.2
- Use curl instead of ping for connection check (more reliable)
- Works through firewalls and when Mac wakes from sleep

### v4.0.1
- Added Homebrew path detection (`/opt/homebrew/bin`) for cron jobs
- Added `~/bin` to cron PATH for local symlinks
- Updated example config with clearer workspace structure

### v4.0.0
- OpenClaw only (removed moltbot/clawdbot legacy support)
- Simplified configuration and paths
- Config: ~/.openclaw/update-plus.json

### v3.x
- Multi-bot support (openclaw, moltbot, clawdbot)
- Connection retry for cron jobs

## Author

Created by **hopyky**

## License

MIT
general

Comments

Sign in to leave a comment

Loading comments...