Test
🧩 Syntax:
#!/bin/bash
# CONFIGURATION
APP_PATH="/path/to/your/app/MyApp.dll"
DOTNET_ENV="Production"
LOG_PATH="/var/log/myapp.log"
PROCESS_NAME="MyApp.dll"
# Check if app is already running
if ! pgrep -f "$PROCESS_NAME" > /dev/null; then
echo "[$(date)] Starting $PROCESS_NAME..." >> "$LOG_PATH"
DOTNET_ENVIRONMENT=$DOTNET_ENV nohup dotnet "$APP_PATH" >> "$LOG_PATH" 2>&1 &
else
echo "[$(date)] $PROCESS_NAME already running." >> "$LOG_PATH"
fi
chmod +x /path/to/run-dotnet-app.sh
# @reboot to start at boot
@reboot /path/to/run-dotnet-app.sh
# Every 5 minutes, check if the process is alive
*/5 * * * * /path/to/run-dotnet-app.sh