4. Le service CRON

4.1. Application

  1. 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
    
  2. 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 ?