#!/bin/bash # Cron job: check trigger file, rebuild Nuxt if present TRIGGER="/tmp/gw-rebuild-trigger" LOCK="/tmp/gw-rebuild.lock" LOG="/tmp/gw-rebuild.log" [ ! -f "$TRIGGER" ] && exit 0 log() { echo "$(date '+%Y-%m-%d %H:%M:%S') $1" >> "$LOG"; } # Prevent concurrent rebuilds if [ -f "$LOCK" ]; then pid=$(cat "$LOCK") if kill -0 "$pid" 2>/dev/null; then exit 0 fi rm -f "$LOCK" fi echo $$ > "$LOCK" trap "rm -f $LOCK" EXIT MODULES=$(cat "$TRIGGER") rm -f "$TRIGGER" log "Rebuild triggered by: $MODULES" cd /opt/gw/hulai-website || exit 1 pnpm build >> "$LOG" 2>&1 if [ $? -eq 0 ]; then pm2 restart gw-website --update-env >> "$LOG" 2>&1 log "Rebuild + restart complete" else log "ERROR: Nuxt build failed" fi