Ce guide montre comment diagnostiquer un systemd timer à partir de vérifications ciblées et d’une validation explicite, sans multiplier les changements inutiles. systemctl status donne le dernier état mais journalctl -u montre la chronologie et les messages complets du service.
Étapes à suivre
-
1
Identifier les critères déterminants
systemctl status donne le dernier état mais journalctl -u montre la chronologie et les messages complets du service.
-
2
Recouper le contexte technique
Restart= peut provoquer une boucle qui masque la première erreur ; lire le journal depuis le boot ou l’horodatage initial.
-
3
Service / timer
Lire état, dépendances et journal sans redémarrer immédiatement.
-
4
Écarter les erreurs de diagnostic
Un daemon-reload recharge les unités mais ne redémarre pas automatiquement le service.
-
5
Valider le résultat
Le service reste active/running sur plusieurs cycles ou le timer déclenche l’exécution attendue. Le journal ne contient plus la cause initiale après le test représentatif.
Commandes utiles
systemctl list-timers --all
systemctl status nom.timer
systemctl status monservice
journalctl -u monservice --since today
À retenir
- Pour un timer, distinguer l’unité .timer de l’unité .service déclenchée et comparer LAST/NEXT.
- Un timer réussi peut déclencher un service qui échoue : vérifier les deux unités.
- Le journal ne contient plus la cause initiale après le test représentatif.
systemd : état, journal, dépendances et timers
Repères techniques
- systemctl status donne le dernier état mais journalctl -u montre la chronologie et les messages complets du service.
- Restart= peut provoquer une boucle qui masque la première erreur ; lire le journal depuis le boot ou l’horodatage initial.
- Pour un timer, distinguer l’unité .timer de l’unité .service déclenchée et comparer LAST/NEXT.
Service / timer
Lire état, dépendances et journal sans redémarrer immédiatement.
systemctl status monservice
journalctl -u monservice --since today
systemctl list-timers --allPièges spécifiques
- Un daemon-reload recharge les unités mais ne redémarre pas automatiquement le service.
- Un timer réussi peut déclencher un service qui échoue : vérifier les deux unités.
Comment valider
- Le service reste active/running sur plusieurs cycles ou le timer déclenche l’exécution attendue.
- Le journal ne contient plus la cause initiale après le test représentatif.
Preuves et vérifications
systemctl status donne le dernier état mais journalctl -u montre la chronologie et les messages complets du service. Restart= peut provoquer une boucle qui masque la première erreur ; lire le journal depuis le boot ou l’horodatage initial.
Contrôle de résultat
Le service reste active/running sur plusieurs cycles ou le timer déclenche l’exécution attendue. Le journal ne contient plus la cause initiale après le test représentatif.
Point d’attention
Un daemon-reload recharge les unités mais ne redémarre pas automatiquement le service. Pour un timer, distinguer l’unité .timer de l’unité .service déclenchée et comparer LAST/NEXT.
Concepts liés
Référence primaire : systemd — service unit documentation.