Redémarrer automatiquement un processus

Publié le 30 septembre 2008 par Nicolargo

Certaines processus système sont plus sensibles que d’autres. Par exemple, dans le cas de l’administration d’un serveur distant, le processus SSHD est à protéger avant tout.

Voici donc le petit script que j’utilise sur mes serveurs pour relancer le daemon sshd au cas ou se dernier s’arrête (suite à un bug ou à une fausse manipulation d’un opérateur). Ce script shell est bien sûr adaptable pour d’autres processus.

#!/bin/sh

# /usr/local/bin/sshd_wrapper.sh

PROCESS_NAME=sshd

PROCESS_COMMAND=’ /usr/local/sbin/sshd’

ps auxw | grep -v grep | grep $PROCESS_NAME > /dev/null || $PROCESS_COMMAND

On rends alors ce script exécutable seulement par l’utilisateur qui doit lancer le processus.

chmod 700 /usr/local/bin/sshd_wrapper.sh

Puis on demande au système d’exécuter ce script toute les minutes:

crontab -e

* * * * * /usr/local/thales/bin/sshd_wrapper.sh > /dev/null 2>&1

et hop…