Script de relance automatique
Un article de Guides Icedslash Hosting.
Introduction
Ce script sert à relancer automatiquement l'un de vos programmes en cas de plantage, ou lorsque le système est relancé. Le script vérifiera à son lancement, que le programme tourne bien ; au cas échéant, il le relancera.
Ce bout de code shell recquiert que le programme en question crée à son lancement un fichier contenant le numéro de PID occupé par ce dernier.
Script Shell
Nous créons par exemple le fichier script.chk, situé dans la racine du dossier du programme. Il contient les lignes suivantes :
#!/bin/sh DIR_PATH=/home/hosting/shell/votre_compte/dossier_programme PID_PATH=/home/hosting/shell/votre_compte/dossier_programme/programme.pid COMMAND=cd $DIR_PATH && ./programme start if test -r $PID_PATH; then PID=$(cat $PID_PATH) if $(kill -CHLD $PID >/dev/null 2>&1); then exit 0 fi fi cd $DIR_PATH $COMMAND &> /dev/null
Il vous faudra donc éditer la valeur des variables DIR_PATH (dossier dans lequel se trouve l'exécutable), PID_PATH (fichier contenant le numéro de PID), COMMAND (commande à exécuter si le programme ne tourne pas).
Le script shell doit pouvoir être exécuté, donc entrez :
chmod u+x script.chk
Tâche cron
Mettre en place une tâche cron sur ce script shell permet d'exécuter le script shell ci-dessus à intervales régulières, afin d'automatiser le mécanisme. Pour éditer vos tâches crons, tapez en ligne de commande :
crontab -e
Vous éditez à présent vos tâches crons via le programme Vim. Voici la ligne à placer pour vérifier toutes les cinq minutes le script shell :
*/5 * * * * sh /home/hosting/shell/votre_compte/dossier_programme/script.chk &> /dev/null

