J'ai un script que j'aimerais exécuter en tant que service sur ma boîte sans tête Ubuntu Server 11.04. C'est-à-dire que je veux avoir les fichiers corrects sous / etc/init.d / et pouvoir le contrôler via la commande service
.
Existe-t-il un guide disponible qui me montre comment faire cela?
Sauf si vous utilisez 15.04 ou une version ultérieure (qui utilise systemd
), vous serez probablement mieux loti si vous transformez votre script en travail Upstart plutôt que de suivre les exemples que vous trouverez dans /etc/init.d/
(qui sont des init scripts, qu'Ubuntu et les autres distributions s'éloignent).
Le pstart Cookbook contient une quantité énorme d'informations sur le fonctionnement des travaux Upstart. Bien que je ne décrirais pas cela comme un HOWTO, si vous combinez les informations là-bas avec une recherche dans les tâches courantes d'Ubuntu Upstart dans /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"
Voici un exemple très simple pour créer un script de mise à jour: https://wiki.frugalware.org/index.php/Upstart_Job_HOWTO
UPDATE: le lien ci-dessus est cassé. 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
Adapter 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 commencer avec:
Sudo start yourfilename