#!/bin/bash # backup.sh - Backup Inou code to Google Drive # Run from: /home/johan/dev/inou DATE=$(date +%Y%m%d_%H%M%S) # Detect environment if [[ -d "/Volumes/dev/inou" ]]; then SRC="/Volumes/dev/inou" BACKUP_DIR=~/Google\ Drive/My\ Drive/Backups/inou/backup_$DATE elif [[ -d "/home/johan/dev/inou" ]]; then SRC="/home/johan/dev/inou" BACKUP_DIR=~/backups/inou/backup_$DATE else echo "Cannot find source directory" exit 1 fi mkdir -p "$BACKUP_DIR/lib" mkdir -p "$BACKUP_DIR/convert" mkdir -p "$BACKUP_DIR/viewer" mkdir -p "$BACKUP_DIR/mcp-client" mkdir -p "$BACKUP_DIR/portal" mkdir -p "$BACKUP_DIR/portal/templates" mkdir -p "$BACKUP_DIR/portal/lang" mkdir -p "$BACKUP_DIR/portal/static" mkdir -p "$BACKUP_DIR/scrape_mychart" mkdir -p "$BACKUP_DIR/docs" # Code cp "$SRC/lib/"*.go "$BACKUP_DIR/lib/" 2>/dev/null cp "$SRC/convert/"*.go "$BACKUP_DIR/convert/" 2>/dev/null cp "$SRC/viewer/"*.go "$BACKUP_DIR/viewer/" 2>/dev/null cp "$SRC/mcp-client/"*.go "$BACKUP_DIR/mcp-client/" 2>/dev/null cp "$SRC/portal/"*.go "$BACKUP_DIR/portal/" 2>/dev/null cp "$SRC/portal/templates/"*.tmpl "$BACKUP_DIR/portal/templates/" 2>/dev/null cp "$SRC/portal/lang/"*.yaml "$BACKUP_DIR/portal/lang/" 2>/dev/null cp "$SRC/portal/static/"*.css "$BACKUP_DIR/portal/static/" 2>/dev/null cp "$SRC/scrape_mychart/"*.go "$BACKUP_DIR/scrape_mychart/" 2>/dev/null # Docs cp "$SRC/docs/"*.md "$BACKUP_DIR/docs/" 2>/dev/null # Root files cp "$SRC/go.mod" "$SRC/go.sum" "$BACKUP_DIR/" 2>/dev/null cp "$SRC/Makefile" "$BACKUP_DIR/" 2>/dev/null cp "$SRC/backup.sh" "$BACKUP_DIR/" 2>/dev/null cp "$SRC/build-mac.sh" "$BACKUP_DIR/" 2>/dev/null cp "$SRC/README.md" "$SRC/journal.md" "$BACKUP_DIR/" 2>/dev/null echo "Backed up to: $BACKUP_DIR" echo "" echo "Contents:" find "$BACKUP_DIR" -type f | wc -l | xargs echo "Files:" du -sh "$BACKUP_DIR" | cut -f1 | xargs echo "Size:"