#!/bin/bash # Daily backup of OpenClaw config and workspace set -e DATE=$(date +%Y-%m-%d) LOCAL_DIR="/home/alex/clawd/backups/$DATE" NAS1_DIR="/mnt/nfs-113/Backup/openclaw/$DATE" # Synology 113 NAS2_DIR="/mnt/nfs-133/ds213/backup/openclaw/$DATE" # Synology 133 # Lav alle backup-mapper mkdir -p "$LOCAL_DIR" "$NAS1_DIR" "$NAS2_DIR" # Saml alt i local først cp /home/alex/.openclaw/openclaw.json "$LOCAL_DIR/openclaw.json" 2>/dev/null || true rsync -a --exclude='*.bak' \ /home/alex/clawd/TOOLS.md \ /home/alex/clawd/SOUL.md \ /home/alex/clawd/IDENTITY.md \ /home/alex/clawd/AGENTS.md \ "$LOCAL_DIR/" 2>/dev/null || true rsync -a /home/alex/.openclaw/workspace-main/ "$LOCAL_DIR/workspace-main/" 2>/dev/null || true rsync -a /home/alex/clawd/memory/ "$LOCAL_DIR/memory/" 2>/dev/null || true echo "[$(date)] Local backup done → $LOCAL_DIR" # Sync til NAS1 (113 /Backup) — --no-group pga. NFS permissions rsync -a --no-group "$LOCAL_DIR/" "$NAS1_DIR/" 2>/dev/null && \ echo "[$(date)] NAS1 backup done → $NAS1_DIR" || \ echo "[$(date)] NAS1 backup FAILED" # Sync til NAS2 (133 /ds213/backup) rsync -a --no-group "$LOCAL_DIR/" "$NAS2_DIR/" 2>/dev/null && \ echo "[$(date)] NAS2 backup done → $NAS2_DIR" || \ echo "[$(date)] NAS2 backup FAILED" # Ryd lokalt + NAS1 + NAS2 ældre end 30 dage find /home/alex/clawd/backups -maxdepth 1 -type d -mtime +30 -exec rm -rf {} + 2>/dev/null || true find /mnt/nfs-113/Backup/openclaw -maxdepth 1 -type d -mtime +30 -exec rm -rf {} + 2>/dev/null || true find /mnt/nfs-133/ds213/backup/openclaw -maxdepth 1 -type d -mtime +30 -exec rm -rf {} + 2>/dev/null || true echo "[$(date)] Backup complete"