Linux Server ISO : télécharger et vérifier (checksum & signature)
29 janvier 2026Logs Linux : journalctl et /var/log (diagnostic)
29 janvier 2026Administration serveur Linux · Debian & Ubuntu
Administration serveur Linux : services & systemd
Piloter les services, créer ses propres unités et planifier des tâches avec systemd sur un serveur Debian ou Ubuntu.
Sur un serveur Debian ou Ubuntu, tout ce qui tourne en arrière-plan — SSH, un site web, une base de données — est piloté par systemd. Savoir gérer systemd est une compétence fondamentale de l’administration serveur Linux : c’est ce qui permet de démarrer, arrêter, redémarrer et diagnostiquer n’importe quel service, et de créer les vôtres proprement.
- Pourquoi systemd est central en administration serveur Linux
- Piloter les services (systemctl)
- Comprendre et créer une unité
- Planifier : cron et timers systemd
Pourquoi systemd est central en administration serveur Linux
systemd est le premier processus lancé au démarrage (PID 1) sur Debian comme sur Ubuntu Server. C’est lui qui orchestre l’ordre de démarrage des services, les redémarre automatiquement en cas de crash, et centralise leurs journaux — voir notre guide dédié Logs Linux : journalctl et /var/log. Maîtriser systemd, c’est pouvoir diagnostiquer un service qui refuse de démarrer et automatiser des tâches récurrentes sans script fragile.
1. Piloter les services avec systemctl
sudo systemctl status ssh
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
sudo systemctl reload ssh # recharge sans couper la connexion
Sur Debian/Ubuntu, le service SSH s’appelle ssh (parfois sshd selon la version). En cas de doute : systemctl status ssh sshd 2>/dev/null.
Activer au démarrage
sudo systemctl enable --now nginx # active ET démarre
sudo systemctl disable nginx
enable = démarrage automatique au boot. start = démarre maintenant. enable --now fait les deux en une commande.
2. Comprendre et créer une unité
Chaque service est décrit par un fichier « unité », organisé en trois sections : [Unit] (métadonnées et dépendances), [Service] (comment le lancer) et [Install] (quand l’activer). Les unités officielles se trouvent dans /lib/systemd/system/, vos personnalisations dans /etc/systemd/system/.
Pour un script /usr/local/bin/mon-script.sh, créez /etc/systemd/system/mon-service.service :
[Unit]
Description=Mon service personnalisé
After=network.target
[Service]
ExecStart=/usr/local/bin/mon-script.sh
Restart=on-failure
User=alice
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now mon-service
Après toute modification manuelle d’un fichier d’unité, lancez sudo systemctl daemon-reload — sinon systemd continue à utiliser l’ancienne définition en mémoire.
3. Planifier des tâches
Avec cron (la méthode classique)
crontab -e
# Sauvegarde chaque jour à 2h :
0 2 * * * /usr/local/bin/sauvegarde.sh
Avec un timer systemd (plus intégré)
/etc/systemd/system/sauvegarde.service :
[Unit]
Description=Sauvegarde quotidienne
[Service]
Type=oneshot
ExecStart=/usr/local/bin/sauvegarde.sh
/etc/systemd/system/sauvegarde.timer :
[Unit]
Description=Lance la sauvegarde chaque jour
[Timer]
OnCalendar=*-*-* 02:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl daemon-reload
sudo systemctl enable --now sauvegarde.timer
systemctl list-timers
Avantage des timers systemd sur cron : leurs logs sont directement consultables avec journalctl -u sauvegarde, et Persistent=true rattrape l’exécution manquée si la machine était éteinte à l’heure prévue.
FAQ — systemd sur Debian/Ubuntu
Quelle est la différence entre restart et reload ?
restart arrête puis relance complètement le service (coupure brève). reload demande au service de relire sa configuration sans interrompre le service, quand le programme le supporte (comme Nginx ou Apache).
Comment savoir pourquoi un service ne démarre pas ?
systemctl status mon-service affiche les dernières lignes de log et le code de sortie. Pour plus de détail : journalctl -u mon-service -n 50.
Cron ou timer systemd, lequel choisir ?
Pour une tâche simple et ponctuelle, cron reste très bien. Pour une tâche importante dont vous voulez suivre l’exécution et gérer les dépendances, un timer systemd est plus robuste.
Conclusion
systemd est le socle de l’administration serveur Linux moderne : piloter, activer et diagnostiquer un service, créer ses propres unités et planifier des tâches sont des compétences indispensables sur tout serveur Debian ou Ubuntu. La suite logique : approfondir le diagnostic via les journaux.