Je veux que asterisk
et mysql
puissent redémarrer automatiquement si quelque chose devait lui arriver, comme s'il s'était écrasé.
J'ai trouvé un guide avec ce que je cherche, mais il est écrit en supposant que le /etc/inittab
est utilisé. Comment ce guide se traduirait-il en une version récente?
Voici le guide: Comment: redémarrer automatiquement l'astérisque
Ajoutez simplement l'option respawn
- à votre travail en amont (pour mysql ou astérisque).
Vous pouvez aussi en plus ajouter l'option respawn limit
-:
respawn limit COUNT INTERVAL
"Si le travail est répété plus de COUNT fois en INTERVAL secondes, il sera considéré comme ayant des problèmes plus profonds et sera arrêté."
Par exemple.
respawn
respawn limit 3 60
Votre processus sera donc automatiquement redémarré s'il se bloque, mais s'il se bloque plus de 3 fois en 60 secondes, il ne sera plus redémarré.
Documentation: pstart-Cookbook
Voici un exemple de travail upstart pour un astérisque, tiré de http://www.digium.com/
# asterisk
#
# Upstart control file for the Asterisk PBX
#
# To install, rename this file to 'asterisk' and copy it to /etc/event.d/
# On Debian: copy to /etc/init/
#
# To start asterisk manually:
# Sudo start asterisk
#
# To stop asterisk manually:
# Sudo stop asterisk
#
# Asterisk is started with an "interactive console", though redirected
# to/from /dev/null . The concept of a main console is bad. OTOH, the main
# process should not detach from the console if we work with upstart and
# alike.
#
# The username 'asterisk' is currently hardwired here, and likewise the
# varrundir.
#
description "Asterisk PBX"
#version "1.8"
start on runlevel [2345]
stop on runlevel [!2345]
pre-start script
# Since Ubuntu clears /var/run on reboot, create this before we try to start
if [ ! -d /var/run/asterisk ]; then
mkdir -p asterisk /var/run/asterisk
chown asterisk: /var/run/asterisk
fi
end script
respawn
exec /usr/sbin/asterisk -U asterisk -g -f