Comment configurer un service?

19

J'ai un script que je voudrais exécuter en tant que service sur ma boîte sans tête Ubuntu Server 11.04. Autrement dit, je veux avoir les bons fichiers sous /etc/init.d/ et pouvoir les contrôler via la servicecommande.

Y a-t-il un guide disponible qui me montrera comment procéder?

Kent Boogaart
la source

Réponses:

14

À moins que vous n'utilisiez la version 15.04 ou toute version ultérieure (qui utilise systemd), vous ferez probablement mieux si vous transformez votre script en tâche Upstart, plutôt que de suivre les exemples que vous trouverez dans /etc/init.d/(qui sont des scripts d'initialisation de type System V, dont Ubuntu et d'autres distributions s'éloignent).

Le livre de recettes Upstart contient une énorme quantité d'informations sur le fonctionnement des tâches Upstart. Bien que je ne le décrirais pas comme un HOWTO, si vous combinez les informations là-bas avec la recherche dans les jobs Ubuntu Upstart en stock, /etc/init/vous commencerez à obtenir l'image.

Je suggère de commencer par les sections 4 et 5 du livre de recettes, "Concepts et terminologie" et "Configuration"

Mark Russell
la source
10

Voici un exemple très simple de création d'un script upstart: https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO

MISE À JOUR: le lien ci-dessus est rompu. Voici un exemple de script:

description "My startup service"
author "You or someone else"
version "3.14"

pre-start script
    echo 'Starting my service ...'
end script

start on net-device-up
stop on runlevel [!2345]

console output

respawn

exec /path/to/your/custom/script

Adaptez au besoin.

Vous devez placer le script dans /etc/init/yourfilename.conf

Rechargez ensuite la configuration avec:

sudo initctl reload-configuration

Et si tout va bien, vous devriez pouvoir le démarrer avec:

sudo start yourfilename
lenooh
la source