35 行
752 B
Bash

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