Développeur FullStack & Devops

SystemD, les services systèmes sous Linux

Systemctl

Pour gérer (start, stop, restart, status) les services sur un système Linux, nous pouvons utiliser la commande systemctl (anciennement service).
Ces services sont créés/paramétrés via des fichiers de conf se trouvant dans /etc/systemd/system/
puis on les active (enable) ou désactive (disable) via la commande systemctl enable monservice.service
pour un démarrage auto au boot de la machine.
Il existe ensuite un ensemble de paramètres permettant d’interagir interactivement avec nos services.
systemctl status donne sous forme d’arborescence la liste des services démarrés, et l’état global (running : tout va bien, degraded : un ou pls services sont en carafe)

systemctl status nom-du-service donne l’état du service et ses options/infos de démarrage (il est possible d’omettre l’extension .service dans le nom du service)

systemctl list-unit-files liste l’ensemble des services installés et leurs status (static | enabled | disabled | masked)

systemctl list-units –failed liste les services en échec

systemctl -p LogLevel show affiche le LogLevel de systemD, info par défaut (qui peut polluer les logs rsyslog)

systemd-analyze set-log-level notice permet de modifier le LogLevel de systemD temporairement (jusqu’au prochain reboot)

sudo systemctl daemon-reexec redémarrage du service systemctl (sans rebooter)

Journalctl

Les services gérés par le SystemD ont leurs logs accessible par défaut (souvent paramétrable) via la commande journalctl .

journalctl derniers logs de SystemD utile pour voir les logs des services en échec (option -f pour follow)

journalctl -u nginx.service –since today les entrées du journal d’aujourd’hui spécifique au service spécifié par l’option -u

Pour vider le journal: journalctl –vacuum-time=2d ou journalctl –vacuum-size=500M

voir la doc ubuntu

rédigé par behrouze le 25/03/2019
Cheat SheetsOutilsVidéosA propos