web-dev-qa-db-fra.com

/Etc/rc.local est-il toujours le moyen préféré d'exécuter des scripts au démarrage sur Ubuntu 18.04 LTS

J'avais l'habitude d'exécuter plusieurs scripts au démarrage pour définir les choses comme je veux que mon serveur fonctionne. Après la migration vers Ubuntu 18.04, j'ai des problèmes avec quelques scripts et je me demande simplement si c'est toujours la méthode préférée pour exécuter les scripts Shell automatiquement après le redémarrage?

4
Mike Skott

Après Ubuntu 16.04, les scripts de démarrage init traditionnels ont été remplacés par le service systemd et ses configurations. La plupart des scripts ou des instructions de script ont été réécrits dans ce qu'on appelle des fichiers d'unité systemd. Par conséquent, je recommanderais de configurer un service systemd pour vos scripts de démarrage personnalisés.

Créer /etc/systemd/system/foo.service avec contenu:

[Unité]
Description = Configuration foo
Après = network.target

[Un service]
Type = one-shot
ExecStart =/opt/foo/setup-foo.sh
RemainAfterExit = true
ExecStop =/opt/foo/teardown-foo.sh
StandardOutput = journal

[Installer]
WantedBy = multi-user.target

Remplacez par vos paramètres en conséquence. Cette définition de service s'exécutera /opt/foo/setup-foo.sh à chaque démarrage.

N'oubliez pas de charger et d'activer le service:

Sudo systemctl daemon-reload
Sudo systemctl activer foo.service

Pour plus d'informations jetez un oeil à cet exemple .

1
Jonas