1 #!/bin/bash 2 # ============================================================================== 3 # NEURALOS MEMORY & FLEET SYNCHRONIZATION 4 # Synchronizes project directives, schemas, and memory between Master and Body 5 # ============================================================================== 6 7 set -e 8 9 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 10 CONF_FILE="$DIR/neuralos.conf" 11 12 if [ -f "$CONF_FILE" ]; then 13 source "$CONF_FILE" 14 else 15 DELL_IP="192.168.31.65" 16 DELL_USER="agent" 17 fi 18 19 echo "========================================================================" 20 echo " [SYNC] NEURALOS FLEET SYNCHRONIZATION" 21 echo " TARGET ANCHOR: $DELL_USER@$DELL_IP" 22 echo "========================================================================" 23 24 # Test connection 25 TARGET_IP="$DELL_IP" 26 printf " [+] Checking connection to anchor node... " 27 if ping -c 1 -W 1000 "$DELL_IP" > /dev/null 2>&1; then 28 TARGET_IP="$DELL_IP" 29 echo "[ONLINE via LAN: $TARGET_IP]" 30 elif [ -n "$DELL_TAILSCALE_IP" ] && ping -c 1 -W 1500 "$DELL_TAILSCALE_IP" > /dev/null 2>&1; then 31 TARGET_IP="$DELL_TAILSCALE_IP" 32 echo "[ONLINE via Tailscale: $TARGET_IP]" 33 else 34 echo "[OFFLINE]" 35 echo " [!] Cannot reach Dell anchor at LAN ($DELL_IP) or Tailscale ($DELL_TAILSCALE_IP)." 36 exit 1 37 fi 38 39 # Ensure remote sync directory exists 40 echo " [+] Preparing sync anchor directory on /dev/sda3..." 41 ssh -o BatchMode=yes -o ConnectTimeout=5 "$DELL_USER@$TARGET_IP" "sudo mkdir -p /var/neural_memory/project_docs && sudo chown -R $DELL_USER:$DELL_USER /var/neural_memory" 42 43 # Push project markdown docs and configs to Dell 44 echo " [+] Pushing core architecture directives (Mac -> Dell SSD)..." 45 rsync -avz --exclude '.obsidian' --exclude '*.db*' "$DIR/" "$DELL_USER@$TARGET_IP:/var/neural_memory/project_docs/" 46 47 # Pull memory snapshots to Mac for offline reading cache 48 echo " [+] Pulling latest memory snapshot (Dell SSD -> Mac cache)..." 49 rsync -avz "$DELL_USER@$TARGET_IP:/var/neural_memory/data/memory.db" "$DIR/.memory_cache.db" 50 rsync -avz "$DELL_USER@$TARGET_IP:/var/neural_memory/data/graph_memory.db" "$DIR/.graph_memory_cache.db" 51 52 echo "" 53 echo "========================================================================" 54 echo " SYNCHRONIZATION COMPLETE" 55 echo " Local docs backed up on Dell: /var/neural_memory/project_docs/" 56 echo " Offline memory cache: $DIR/.memory_cache.db" 57 echo " Offline graph memory cache: $DIR/.graph_memory_cache.db" 58 echo "========================================================================" 59