J'ai un serveur Debian et j'ai juste besoin d'exécuter un script au démarrage.
J'ai lu cela: https://www.debian-administration.org/article/28/Making_scripts_run_at_boot_time_with_Debian
J'ai maintenant: insserv: avertissement: les balises LSB manquantes du script et les remplacements
il semble donc que je dois ajouter maintenant:
### BEGIN INIT INFO
# Provides: scriptname
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
Cela semble maintenant fou: comme 30 lignes de script juste pour exécuter un programme au démarrage.
Existe-t-il un outil qui permet de le faire de manière simple?
Cordialement
Pensez à utiliser /etc/rc.local
(exécuté en tant que root) ou crontab
(exécuté en tant qu'utilisateur de votre choix).
Deux exemples:
/etc/rc.local
#!/bin/sh -e
#(Multiple lines of comments removed.)
/usr/local/bin/your-script.sh
exit 0
crontab
(édité via, par exemple, crontab -e
)
#(Multiple lines of comments removed.)
@reboot /usr/local/bin/your-script.sh
Si votre script doit s'exécuter en continu en arrière-plan, je vous déconseille d'utiliser rc.local
ou crontab
, et écrivez à la place un bon (ou plusieurs) init.d
script (s). De cette façon, vous/votre système pouvez redémarrer/recharger/démarrer/arrêter proprement les démons.
Le LSB tags
fournit une certaine valeur: "En documentant les dépendances au moment de l'exécution des scripts init.d, il devient possible de vérifier l'ordre de démarrage actuel, de commander le démarrage à l'aide de ces dépendances et d'exécuter des scripts de démarrage en parallèle pour accélérer le processus de démarrage. " Pour plus de détails, rendez-vous sur le wiki Debian .
Soit dit en passant, les en-têtes manquants: c'est un avertissement, donc en fait, c'est à vous de décider comment et quoi faire avec cela.
supervisord est également une option. Vous allez réécrire quelques lignes afin de démarrer vos node.js et PHP stuff, mais elles seront moins nombreuses.
Vous pouvez utiliser monitd pour cela, écrivez simplement une définition de monit et il démarrera des démons pour vous. Mais pourquoi n'utilisez-vous pas correctement les scripts LSB? Ce n'est pas si difficile de l'écrire (vous ne l'écrivez qu'une seule fois) et c'est le moyen le plus propre et le plus précieux pour y parvenir.