#!/bin/bash
# =====================================================
# keepalive.sh — Auto-restart if backend crashes
# Add to cPanel Cron Jobs:
# */5 * * * * /home3/webniscom/payroll/keepalive.sh
# =====================================================

DEPLOY_DIR=/home3/webniscom/payroll
JAR=$DEPLOY_DIR/payroll.jar
PID_FILE=$DEPLOY_DIR/payroll.pid
LOG_FILE=$DEPLOY_DIR/payroll.log
CONFIG=$DEPLOY_DIR/application.properties

# Check if running
if [ -f "$PID_FILE" ]; then
    PID=$(cat "$PID_FILE")
    if kill -0 "$PID" 2>/dev/null; then
        # Still running — do nothing
        exit 0
    fi
fi

# Not running — restart
echo "[$(date)] Restarting payroll backend..." >> "$LOG_FILE"

cd "$DEPLOY_DIR"
nohup java -jar "$JAR" \
    --spring.config.location="$CONFIG" \
    >> "$LOG_FILE" 2>&1 &

echo $! > "$PID_FILE"
echo "[$(date)] Restarted with PID $(cat $PID_FILE)" >> "$LOG_FILE"
