| #!/bin/bash |
| |
|
|
| 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 |
|
|