#!/bin/bash # HC900Crawler 시작 스크립트 # 사용: ./start.sh [--background] PROJ=/home/windpacer/projects/hc900_ax LOG=/tmp/hc900_crawler.log # Docker 컨테이너 확인 echo "[1/3] Docker 컨테이너 확인..." for NAME in iiot-timescaledb qdrant-index; do if docker ps --format '{{.Names}}' | grep -q "^${NAME}$"; then echo " ✓ $NAME 실행 중" else echo " ! $NAME 중지됨 → 시작 시도" docker start "$NAME" 2>/dev/null && echo " ✓ $NAME 시작" || echo " ✗ $NAME 시작 실패" fi done # 기존 프로세스 정리 echo "[2/3] 기존 프로세스 정리..." pkill -f "Hc900Crawler" 2>/dev/null && echo " 기존 크롤러 종료" || true pkill -f "hc900_gateway" 2>/dev/null && echo " 기존 게이트웨이 종료" || true sleep 2 # 크롤러 시작 (게이트웨이 자동 포함) echo "[3/3] HC900Crawler 시작..." cd "$PROJ/src/Hc900Crawler" if [[ "$1" == "--background" || "$1" == "-b" ]]; then nohup dotnet run > "$LOG" 2>&1 & PID=$! sleep 5 if kill -0 $PID 2>/dev/null; then echo " ✓ 백그라운드 실행 중 (PID=$PID)" echo " ✓ 로그: tail -f $LOG" echo " ✓ 웹 UI: http://localhost:5000" else echo " ✗ 시작 실패 — 로그 확인: $LOG" fi else echo " 포그라운드 실행 (Ctrl+C로 종료)" echo " 로그: $LOG" echo " 웹 UI: http://localhost:5000" dotnet run fi