34 lines
767 B
Bash
Executable File
34 lines
767 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [ "$#" -lt 2 ] || [ "$#" -gt 3 ]; then
|
|
echo "Usage: $0 <project_dir> <app_name> [ecosystem_file]"
|
|
echo "Example: $0 /home/ubuntu/JezzWTF/zap zap ecosystem.config.cjs"
|
|
exit 1
|
|
fi
|
|
|
|
PROJECT_DIR="$1"
|
|
APP_NAME="$2"
|
|
ECOSYSTEM_FILE="${3:-ecosystem.config.cjs}"
|
|
|
|
if [ ! -d "$PROJECT_DIR" ]; then
|
|
echo "ERROR: project directory not found: $PROJECT_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
ECOSYSTEM_PATH="$PROJECT_DIR/$ECOSYSTEM_FILE"
|
|
if [ ! -f "$ECOSYSTEM_PATH" ]; then
|
|
echo "ERROR: ecosystem file not found: $ECOSYSTEM_PATH"
|
|
exit 1
|
|
fi
|
|
|
|
cd "$PROJECT_DIR"
|
|
|
|
echo "Recreating PM2 app '$APP_NAME' from '$ECOSYSTEM_FILE'..."
|
|
pm2 delete "$APP_NAME" >/dev/null 2>&1 || true
|
|
pm2 start "$ECOSYSTEM_PATH"
|
|
pm2 save
|
|
|
|
echo "Done. Current PM2 status:"
|
|
pm2 ls
|