Configurez cron en ajoutant un script dans la crontab pour qu il active le service toutes les cinq minutes.
vanvincq@Debian-Laptop ~ $ crontab -e
# Lancement du script toutes les cinq minutes */5 * * * * /tmp/dummyd.sh start
Modifier le code de façon à ce que cron relance le service mais uniquement si celui ci nŽest plus en mémoire (plus journalisation).
#!/bin/sh varrun=/var/run file=dummy repwork=/tmp logdir=/tmp/log case "$1" in start) # On journalise le lancement du serveur if [ ! -d ${logdir} ] ; then mkdir -p ${logdir}; fi # Le service est relancé uniquement si celui ci n'est plus en mémoire isStarted=$(ps aux | grep dummy.sh | grep -v grep | wc -l) # ou `ps aux | grep [d]ummy.sh | wc -l` if [ ${isStarted} = 0 ]; then echo "$(date) Lancement du programme" >> ${logdir}/${file}.log ${repwork}/${file}.sh & else echo "$(date) Le programme est déjà en cours d'exécution" >> ${logdir}/${file}.log fi ;; stop) # On se sert du PID stocké dans un fichier pour arrêter le serveur echo "$(date) Arrêt du programme" >> ${logdir}/${file}.log kill -9 $(cat ${varrun}/${file}/${file}.pid) rm -f ${varrun}/${file}/${file}.pid ;; *) echo "no comment";; esac
Petite interrogation: fallait-il créer un troisième script pour le contrôle en mémoire etc. et non pas éditer directement le dummy.sh ?