#!/bin/sh ## Ce script aura pour vocation de tourner en crontab toutes les minutes ## Au cas ou le serveur planterait # Conf ID=cs-01 PORT=27019 # Fonctions function clean_all() { SC=`ps auxxw | grep SCREEN | grep $ID` SV=`ps auxxw | grep hlds | grep $PORT` kill -9 $SC $SV } # Fonction redémarrage function restart_sv() { cd /home/steam/ /usr/bin/screen -dmS $ID ./start-$ID.sh } # Vérification d'activité du process PROCESS_CHECK=`ps auxxw | grep hlds | grep $PORT | grep -v grep` PROCESS_CHECK_STATUS=$? # Si le process est absent if [ "$PROCESS_CHECK_STATUS" == "1" ] ; then clean_all restart_sv fi # On vérifie si le screen est présent SCREEN_CHECK=`ps auxxw | grep "SCREEN -dmS $ID" | grep -v grep` SCREEN_CHECK_STATUS=$? # Si le screen est manquant if [ "$SCREEN_CHECK_STATUS" == "1" ] ; then # On kill tout avant de restart clean_all restart_sv fi