web-dev-qa-db-fra.com

Redémarrage automatique de l'astérisque et de MySQL avec Upstart

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

3
user530873

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
2
Clausi