{
  "schemaVersion": "1.0",
  "item": {
    "slug": "safe-backup",
    "name": "safe-backup",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/HackSing/safe-backup",
    "canonicalUrl": "https://clawhub.ai/HackSing/safe-backup",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/safe-backup",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=safe-backup",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/backup.sh"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/safe-backup"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/safe-backup",
    "agentPageUrl": "https://openagent3.xyz/skills/safe-backup/agent",
    "manifestUrl": "https://openagent3.xyz/skills/safe-backup/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/safe-backup/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Safe Backup",
        "body": "Backup OpenClaw state directory and workspace with security best practices."
      },
      {
        "title": "⚠️ Security Warnings",
        "body": "Backup may contain sensitive data - review before sharing\nIf uploading to GitHub - use a private repository and consider encryption\nauth-profiles.json is EXCLUDED - after restore, you must re-authenticate\nThis script does NOT automatically push to any remote"
      },
      {
        "title": "1. Run Backup",
        "body": "~/.openclaw/skills/safe-backup/scripts/backup.sh"
      },
      {
        "title": "2. Check Output",
        "body": "Backup file: /tmp/safe-backup-20260223.tar.gz  (Linux)\nBackup file: /var/folders/xx/.../safe-backup-20260223.tar.gz  (macOS)\nBackup file: C:\\Users\\xxx\\AppData\\Local\\Temp\\safe-backup-20260223.tar.gz  (Windows)"
      },
      {
        "title": "3. Store Securely",
        "body": "See \"Storage Options\" below."
      },
      {
        "title": "Platform Support",
        "body": "PlatformStatusRequirementsLinux✅ Fully supportedNative bashmacOS✅ Fully supportedNative bashWindows (Git Bash)✅ SupportedGit for WindowsWindows (WSL)✅ SupportedWSL Ubuntu/DebianWindows (Native CMD)❌ Not supportedRequires bash"
      },
      {
        "title": "Important Notes for Migration",
        "body": "1. Temporary Directory Auto-Detection\n\nThe script automatically detects the appropriate temp directory for each platform:\n\nPlatformTemp DirectoryEnvironment VariableLinux/tmp-macOS/var/folders/xx/...$TMPDIRWindows (Git Bash)C:\\Users\\xxx\\AppData\\Local\\Temp$TEMP / $TMP\n\n2. rsync Dependency\n\nThe script uses rsync for efficient file copying:\n\nLinux/macOS: ✅ Built-in\nWindows: ⚠️ Git Bash includes rsync\n\nIf rsync is not available, the script will fail. For Windows without Git Bash, you need to install rsync separately (e.g., via MSYS2 or Cygwin).\n\n3. Path Separators\n\nThe script uses Unix-style forward slashes (/). This works in:\n\nLinux ✅\nmacOS ✅\nGit Bash ✅\nWSL ✅\n\nNative Windows CMD uses backslashes (\\) and won't work without modifications.\n\n4. Home Directory Detection\n\nThe script uses $HOME environment variable:\n\nLinux: /home/username\nmacOS: /Users/username\nWindows (Git Bash): C:\\Users\\username\n\nThis works correctly in all supported platforms."
      },
      {
        "title": "Migration Checklist",
        "body": "When migrating from one platform to another:\n\nRun backup on source machine\n Transfer backup file securely (USB, encrypted cloud, etc.)\n Install Git Bash (Windows) or ensure bash is available\n Install OpenClaw on target machine\n Run restore script\n Re-authenticate all services (credentials are not backed up)"
      },
      {
        "title": "Platform-Specific Notes",
        "body": "Windows (Git Bash)\n\n# Run from Git Bash, NOT CMD or PowerShell\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\nIf you get \"rsync not found\", install Git for Windows with all optional Unix tools.\n\nmacOS\n\n# Native bash is available\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\nTemp directory will be in $TMPDIR (e.g., /var/folders/xx/...).\n\nLinux\n\n# Native bash is available\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\nTemp directory will be /tmp."
      },
      {
        "title": "✅ Included (Safe to Backup)",
        "body": "DirectoryContents~/.openclaw/OpenClaw configuration~/.openclaw/workspace/Agent workspace filesagents/Agent definitionsskills/Installed skillsmemory/Memory fileshooks/Custom hooks"
      },
      {
        "title": "❌ Excluded (Sensitive - Not Backed Up)",
        "body": "PatternReason*.logLog files*.log.*Log rotation filessessions.jsonSession datalogs/Log directoryauth-profiles.jsonAPI tokens & credentials.envEnvironment variables*.pem, *.keyTLS/SSH keyscredentials.jsonStored credentialsapi-keys.jsonAPI keyssessions/Runtime sessionsbrowser/Browser cachecanvas/Canvas cachemedia/Temporary media filesbackups/Backup directory itselfdelivery-queue/Runtime queuedevices/Device cachesubagents/Runtime subagentscompletions/Auto-completion cache*.bakBackup files*.saveSave filesupdate-check.jsonUpdate check cache"
      },
      {
        "title": "Use Cases",
        "body": "ScenarioRecommended SolutionDescriptionRegular BackupLocal encrypted storageWeekly backup, store in encrypted local directoryMigrate to New MachineLocal tarball + USBTransfer between machines, avoid network transmissionCloud Disaster RecoveryPrivate GitHub repoPrivate repo + encryption, for offsite backupServer Environmentrsync to backup serverAutomated periodic sync, suitable for production"
      },
      {
        "title": "Phase 1: Backup",
        "body": "# Step 1: Run backup\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n# Step 2: Find output path (check the last line of output)\n# The script will display: \"Backup file: /path/to/safe-backup-YYYYMMDD.tar.gz\"\n\n# Step 3: Verify backup contents\ntar -tzf \"$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\" | head -20\n\n# Or use the exact path shown in output:\n# tar -tzf /tmp/safe-backup-20260223.tar.gz | head -20"
      },
      {
        "title": "Phase 2: Storage",
        "body": "Choose one:\n\nOption A: Local Encrypted Storage (Recommended)\n\n# Find the latest backup file\nBACKUP_FILE=$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\n\n# Create encrypted archive\nopenssl enc -aes-256-cbc -salt -in \"$BACKUP_FILE\" -out ~/backups/safe-backup-$(date +%Y%m%d).tar.gz.enc\n\n# Enter a strong password when prompted\n\n# Delete unencrypted backup\nrm \"$BACKUP_FILE\"\n\nOption B: Private GitHub Repository\n\n# One-time setup: Create private repo on GitHub\n\n# Find the latest backup file\nBACKUP_FILE=$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\n\n# Clone your private repo\ngit clone https://github.com/YOUR_USERNAME/safe-backup.git ~/safe-backup\n\n# Extract backup\nmkdir -p ~/safe-backup/$(date +%Y-%m-%d)\ntar -xzf \"$BACKUP_FILE\" -C ~/safe-backup/$(date +%Y-%m-%d)/\n\n# Commit and push\ncd ~/safe-backup\ngit add .\ngit commit -m \"Backup $(date +%Y-%m-%d)\"\ngit push origin main\n\n# Delete local copy\nrm -rf ~/safe-backup\nrm \"$BACKUP_FILE\"\n\nOption C: rsync to Remote Server\n\n# Example: sync to remote server\nrsync -avz --delete \\\n  --exclude='*.log' \\\n  --exclude='sessions.json' \\\n  ~/.openclaw/ user@backup-server:/path/to/backups/"
      },
      {
        "title": "Phase 3: Restore",
        "body": "Step 1: Locate Backup\n\n# If encrypted\nopenssl enc -aes-256-cbc -d -in ~/backups/safe-backup-20260223.tar.gz.enc -out /tmp/safe-backup.tar.gz\n\n# If plain tarball, find the file\n# Check your backup location (USB, cloud download, etc.)\ncp /path/to/your/backup/safe-backup-20260223.tar.gz /tmp/\n\nStep 2: Stop Gateway\n\nsystemctl --user stop openclaw-gateway\n\nStep 3: Restore Files\n\n# Determine temp directory based on platform\nif [[ -n \"$TMPDIR\" ]]; then\n    TEMP_DIR=\"$TMPDIR\"\nelif [[ -n \"$TEMP\" ]]; then\n    TEMP_DIR=\"$TEMP\"\nelif [[ -n \"$TMP\" ]]; then\n    TEMP_DIR=\"$TMP\"\nelse\n    TEMP_DIR=\"/tmp\"\nfi\n\n# Extract to temporary location\nmkdir -p \"$TEMP_DIR/restore\"\ntar -xzf \"$TEMP_DIR/safe-backup.tar.gz\" -C \"$TEMP_DIR/restore\"\n\n# Restore state directory\ncp -r \"$TEMP_DIR/restore/state/\"* ~/.openclaw/\n\n# Restore workspace (if needed)\ncp -r \"$TEMP_DIR/restore/workspace/\"* ~/.openclaw/workspace/\n\nStep 4: Re-authenticate\n\nBecause auth-profiles.json was excluded, you must re-configure:\n\n# Edit config to add authentication\nopenclaw config edit\n\n# Or manually create auth-profiles.json\nnano ~/.openclaw/agents/main/agent/auth-profiles.json\n\nRequired re-configuration:\n\nTelegram bot token\nDiscord bot token\nFeishu credentials\nAny other API keys\n\nStep 5: Restart Gateway\n\nsystemctl --user start openclaw-gateway\n\n# Verify\nopenclaw status"
      },
      {
        "title": "Environment Variables",
        "body": "VariableDefaultDescriptionOPENCLAW_STATE_DIR$HOME/.openclawOpenClaw state directoryOPENCLAW_WORKSPACE_DIR$HOME/.openclaw/workspaceWorkspace directory\n\nExample:\n\nOPENCLAW_STATE_DIR=/data/openclaw ~/.openclaw/skills/safe-backup/scripts/backup.sh"
      },
      {
        "title": "\"State directory not found\"",
        "body": "# Check if OpenClaw is installed\nls -la ~/.openclaw"
      },
      {
        "title": "\"Permission denied\"",
        "body": "# Run with appropriate permissions\nchmod +x ~/.openclaw/skills/safe-backup/scripts/backup.sh"
      },
      {
        "title": "\"rsync not found\" (Windows)",
        "body": "# Install Git for Windows with Unix tools, or use WSL\n# Alternatively, install rsync via MSYS2:\n# pacman -S rsync"
      },
      {
        "title": "Restore Fails",
        "body": "# Check backup integrity\ntar -tzf /path/to/your/backup.tar.gz\n\n# If encrypted, verify password\nopenssl enc -aes-256-cbc -d -in backup.enc -o /dev/null"
      },
      {
        "title": "Best Practices",
        "body": "Backup regularly - at least weekly\nTest restore - periodically verify backups work\nStore offsite - keep backup in different location\nEncrypt - never store unencrypted backups in cloud\nDocument - keep notes on what was re-configured after restore"
      }
    ],
    "body": "Safe Backup\n\nBackup OpenClaw state directory and workspace with security best practices.\n\n⚠️ Security Warnings\nBackup may contain sensitive data - review before sharing\nIf uploading to GitHub - use a private repository and consider encryption\nauth-profiles.json is EXCLUDED - after restore, you must re-authenticate\nThis script does NOT automatically push to any remote\nQuick Start\n1. Run Backup\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n2. Check Output\nBackup file: /tmp/safe-backup-20260223.tar.gz  (Linux)\nBackup file: /var/folders/xx/.../safe-backup-20260223.tar.gz  (macOS)\nBackup file: C:\\Users\\xxx\\AppData\\Local\\Temp\\safe-backup-20260223.tar.gz  (Windows)\n\n3. Store Securely\n\nSee \"Storage Options\" below.\n\nCross-Platform Migration\nPlatform Support\nPlatform\tStatus\tRequirements\nLinux\t✅ Fully supported\tNative bash\nmacOS\t✅ Fully supported\tNative bash\nWindows (Git Bash)\t✅ Supported\tGit for Windows\nWindows (WSL)\t✅ Supported\tWSL Ubuntu/Debian\nWindows (Native CMD)\t❌ Not supported\tRequires bash\nImportant Notes for Migration\n1. Temporary Directory Auto-Detection\n\nThe script automatically detects the appropriate temp directory for each platform:\n\nPlatform\tTemp Directory\tEnvironment Variable\nLinux\t/tmp\t-\nmacOS\t/var/folders/xx/...\t$TMPDIR\nWindows (Git Bash)\tC:\\Users\\xxx\\AppData\\Local\\Temp\t$TEMP / $TMP\n2. rsync Dependency\n\nThe script uses rsync for efficient file copying:\n\nLinux/macOS: ✅ Built-in\nWindows: ⚠️ Git Bash includes rsync\n\nIf rsync is not available, the script will fail. For Windows without Git Bash, you need to install rsync separately (e.g., via MSYS2 or Cygwin).\n\n3. Path Separators\n\nThe script uses Unix-style forward slashes (/). This works in:\n\nLinux ✅\nmacOS ✅\nGit Bash ✅\nWSL ✅\n\nNative Windows CMD uses backslashes (\\) and won't work without modifications.\n\n4. Home Directory Detection\n\nThe script uses $HOME environment variable:\n\nLinux: /home/username\nmacOS: /Users/username\nWindows (Git Bash): C:\\Users\\username\n\nThis works correctly in all supported platforms.\n\nMigration Checklist\n\nWhen migrating from one platform to another:\n\n Run backup on source machine\n Transfer backup file securely (USB, encrypted cloud, etc.)\n Install Git Bash (Windows) or ensure bash is available\n Install OpenClaw on target machine\n Run restore script\n Re-authenticate all services (credentials are not backed up)\nPlatform-Specific Notes\nWindows (Git Bash)\n# Run from Git Bash, NOT CMD or PowerShell\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n\nIf you get \"rsync not found\", install Git for Windows with all optional Unix tools.\n\nmacOS\n# Native bash is available\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n\nTemp directory will be in $TMPDIR (e.g., /var/folders/xx/...).\n\nLinux\n# Native bash is available\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n\nTemp directory will be /tmp.\n\nWhat Gets Backed Up\n✅ Included (Safe to Backup)\nDirectory\tContents\n~/.openclaw/\tOpenClaw configuration\n~/.openclaw/workspace/\tAgent workspace files\nagents/\tAgent definitions\nskills/\tInstalled skills\nmemory/\tMemory files\nhooks/\tCustom hooks\n❌ Excluded (Sensitive - Not Backed Up)\nPattern\tReason\n*.log\tLog files\n*.log.*\tLog rotation files\nsessions.json\tSession data\nlogs/\tLog directory\nauth-profiles.json\tAPI tokens & credentials\n.env\tEnvironment variables\n*.pem, *.key\tTLS/SSH keys\ncredentials.json\tStored credentials\napi-keys.json\tAPI keys\nsessions/\tRuntime sessions\nbrowser/\tBrowser cache\ncanvas/\tCanvas cache\nmedia/\tTemporary media files\nbackups/\tBackup directory itself\ndelivery-queue/\tRuntime queue\ndevices/\tDevice cache\nsubagents/\tRuntime subagents\ncompletions/\tAuto-completion cache\n*.bak\tBackup files\n*.save\tSave files\nupdate-check.json\tUpdate check cache\nComplete Workflow\nUse Cases\nScenario\tRecommended Solution\tDescription\nRegular Backup\tLocal encrypted storage\tWeekly backup, store in encrypted local directory\nMigrate to New Machine\tLocal tarball + USB\tTransfer between machines, avoid network transmission\nCloud Disaster Recovery\tPrivate GitHub repo\tPrivate repo + encryption, for offsite backup\nServer Environment\trsync to backup server\tAutomated periodic sync, suitable for production\nPhase 1: Backup\n# Step 1: Run backup\n~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n# Step 2: Find output path (check the last line of output)\n# The script will display: \"Backup file: /path/to/safe-backup-YYYYMMDD.tar.gz\"\n\n# Step 3: Verify backup contents\ntar -tzf \"$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\" | head -20\n\n# Or use the exact path shown in output:\n# tar -tzf /tmp/safe-backup-20260223.tar.gz | head -20\n\nPhase 2: Storage\n\nChoose one:\n\nOption A: Local Encrypted Storage (Recommended)\n# Find the latest backup file\nBACKUP_FILE=$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\n\n# Create encrypted archive\nopenssl enc -aes-256-cbc -salt -in \"$BACKUP_FILE\" -out ~/backups/safe-backup-$(date +%Y%m%d).tar.gz.enc\n\n# Enter a strong password when prompted\n\n# Delete unencrypted backup\nrm \"$BACKUP_FILE\"\n\nOption B: Private GitHub Repository\n# One-time setup: Create private repo on GitHub\n\n# Find the latest backup file\nBACKUP_FILE=$(ls -t /tmp/safe-backup-*.tar.gz | head -1)\n\n# Clone your private repo\ngit clone https://github.com/YOUR_USERNAME/safe-backup.git ~/safe-backup\n\n# Extract backup\nmkdir -p ~/safe-backup/$(date +%Y-%m-%d)\ntar -xzf \"$BACKUP_FILE\" -C ~/safe-backup/$(date +%Y-%m-%d)/\n\n# Commit and push\ncd ~/safe-backup\ngit add .\ngit commit -m \"Backup $(date +%Y-%m-%d)\"\ngit push origin main\n\n# Delete local copy\nrm -rf ~/safe-backup\nrm \"$BACKUP_FILE\"\n\nOption C: rsync to Remote Server\n# Example: sync to remote server\nrsync -avz --delete \\\n  --exclude='*.log' \\\n  --exclude='sessions.json' \\\n  ~/.openclaw/ user@backup-server:/path/to/backups/\n\nPhase 3: Restore\nStep 1: Locate Backup\n# If encrypted\nopenssl enc -aes-256-cbc -d -in ~/backups/safe-backup-20260223.tar.gz.enc -out /tmp/safe-backup.tar.gz\n\n# If plain tarball, find the file\n# Check your backup location (USB, cloud download, etc.)\ncp /path/to/your/backup/safe-backup-20260223.tar.gz /tmp/\n\nStep 2: Stop Gateway\nsystemctl --user stop openclaw-gateway\n\nStep 3: Restore Files\n# Determine temp directory based on platform\nif [[ -n \"$TMPDIR\" ]]; then\n    TEMP_DIR=\"$TMPDIR\"\nelif [[ -n \"$TEMP\" ]]; then\n    TEMP_DIR=\"$TEMP\"\nelif [[ -n \"$TMP\" ]]; then\n    TEMP_DIR=\"$TMP\"\nelse\n    TEMP_DIR=\"/tmp\"\nfi\n\n# Extract to temporary location\nmkdir -p \"$TEMP_DIR/restore\"\ntar -xzf \"$TEMP_DIR/safe-backup.tar.gz\" -C \"$TEMP_DIR/restore\"\n\n# Restore state directory\ncp -r \"$TEMP_DIR/restore/state/\"* ~/.openclaw/\n\n# Restore workspace (if needed)\ncp -r \"$TEMP_DIR/restore/workspace/\"* ~/.openclaw/workspace/\n\nStep 4: Re-authenticate\n\nBecause auth-profiles.json was excluded, you must re-configure:\n\n# Edit config to add authentication\nopenclaw config edit\n\n# Or manually create auth-profiles.json\nnano ~/.openclaw/agents/main/agent/auth-profiles.json\n\n\nRequired re-configuration:\n\nTelegram bot token\nDiscord bot token\nFeishu credentials\nAny other API keys\nStep 5: Restart Gateway\nsystemctl --user start openclaw-gateway\n\n# Verify\nopenclaw status\n\nEnvironment Variables\nVariable\tDefault\tDescription\nOPENCLAW_STATE_DIR\t$HOME/.openclaw\tOpenClaw state directory\nOPENCLAW_WORKSPACE_DIR\t$HOME/.openclaw/workspace\tWorkspace directory\n\nExample:\n\nOPENCLAW_STATE_DIR=/data/openclaw ~/.openclaw/skills/safe-backup/scripts/backup.sh\n\nTroubleshooting\n\"State directory not found\"\n# Check if OpenClaw is installed\nls -la ~/.openclaw\n\n\"Permission denied\"\n# Run with appropriate permissions\nchmod +x ~/.openclaw/skills/safe-backup/scripts/backup.sh\n\n\"rsync not found\" (Windows)\n# Install Git for Windows with Unix tools, or use WSL\n# Alternatively, install rsync via MSYS2:\n# pacman -S rsync\n\nRestore Fails\n# Check backup integrity\ntar -tzf /path/to/your/backup.tar.gz\n\n# If encrypted, verify password\nopenssl enc -aes-256-cbc -d -in backup.enc -o /dev/null\n\nBest Practices\nBackup regularly - at least weekly\nTest restore - periodically verify backups work\nStore offsite - keep backup in different location\nEncrypt - never store unencrypted backups in cloud\nDocument - keep notes on what was re-configured after restore"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/HackSing/safe-backup",
    "publisherUrl": "https://clawhub.ai/HackSing/safe-backup",
    "owner": "HackSing",
    "version": "1.0.5",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/safe-backup",
    "downloadUrl": "https://openagent3.xyz/downloads/safe-backup",
    "agentUrl": "https://openagent3.xyz/skills/safe-backup/agent",
    "manifestUrl": "https://openagent3.xyz/skills/safe-backup/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/safe-backup/agent.md"
  }
}