forked from Mirrors/RGSX
40 lines
1.6 KiB
Bash
40 lines
1.6 KiB
Bash
#!/bin/bash
|
|
# Script wrapper pour exécuter rgsx-update.sh et quitter RGSX
|
|
RGSX_UPDATE_SCRIPT="/userdata/roms/ports/rgsx-update.sh"
|
|
LOG_DIR="/userdata/roms/ports/logs"
|
|
LOG_FILE="$LOG_DIR/rgsx_update.log"
|
|
|
|
# Créer le répertoire de logs s'il n'existe pas
|
|
mkdir -p "$LOG_DIR"
|
|
if [ ! -d "$LOG_DIR" ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Erreur : Impossible de créer $LOG_DIR" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# Journaliser l'exécution
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Exécution de run-update.sh" >> "$LOG_FILE"
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Vérification de l'existence de $RGSX_UPDATE_SCRIPT" >> "$LOG_FILE"
|
|
if [ ! -f "$RGSX_UPDATE_SCRIPT" ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Erreur : $RGSX_UPDATE_SCRIPT n'existe pas" >> "$LOG_FILE"
|
|
exit 1
|
|
fi
|
|
if [ ! -x "$RGSX_UPDATE_SCRIPT" ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Rendre $RGSX_UPDATE_SCRIPT exécutable" >> "$LOG_FILE"
|
|
chmod +x "$RGSX_UPDATE_SCRIPT"
|
|
fi
|
|
|
|
# Tuer les processus RGSX existants
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Terminaison des processus RGSX" >> "$LOG_FILE"
|
|
ps aux | grep '[p]ython3.*RGSX' | awk '{print $2}' >> "$LOG_FILE"
|
|
ps aux | grep '[p]ython3.*RGSX' | awk '{print $2}' | xargs kill -15 2>> "$LOG_FILE"
|
|
sleep 1
|
|
ps aux | grep '[p]ython3.*RGSX' | awk '{print $2}' >> "$LOG_FILE"
|
|
ps aux | grep '[p]ython3.*RGSX' | awk '{print $2}' | xargs kill -9 2>> "$LOG_FILE"
|
|
|
|
# Exécuter rgsx-update.sh
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Exécution de $RGSX_UPDATE_SCRIPT" >> "$LOG_FILE"
|
|
bash "$RGSX_UPDATE_SCRIPT" CONSOLE >> "$LOG_FILE" 2>&1
|
|
exit_code=$?
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Code de retour de $RGSX_UPDATE_SCRIPT : $exit_code" >> "$LOG_FILE"
|
|
|
|
exit $exit_code |