#!/bin/bash # Wrapper script to run auto-sync daemon in background SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" VENV="$PROJECT_ROOT/.venv" LOG_FILE="$PROJECT_ROOT/logs/auto_sync_hf.log" PID_FILE="$PROJECT_ROOT/logs/auto_sync_hf.pid" mkdir -p "$PROJECT_ROOT/logs" start() { if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then echo "❌ Auto-sync daemon already running (PID: $(cat "$PID_FILE"))" exit 1 fi echo "🚀 Starting auto-sync daemon..." nohup "$VENV/bin/python" "$SCRIPT_DIR/auto_sync_hf.py" >> "$LOG_FILE" 2>&1 & echo $! > "$PID_FILE" echo "✅ Daemon started (PID: $(cat "$PID_FILE"))" echo "📋 Log: $LOG_FILE" echo "" echo "To stop: $0 stop" echo "To check: $0 status" } stop() { if [ ! -f "$PID_FILE" ]; then echo "❌ No PID file found" exit 1 fi PID=$(cat "$PID_FILE") if kill -0 "$PID" 2>/dev/null; then echo "🛑 Stopping daemon (PID: $PID)..." kill "$PID" rm "$PID_FILE" echo "✅ Daemon stopped" else echo "❌ Daemon not running" rm "$PID_FILE" fi } status() { if [ -f "$PID_FILE" ] && kill -0 $(cat "$PID_FILE") 2>/dev/null; then echo "✅ Daemon running (PID: $(cat "$PID_FILE"))" echo "📋 Log tail:" tail -10 "$LOG_FILE" else echo "❌ Daemon not running" fi } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 2 start ;; status) status ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac