{{tag>Brouillon SystemD Temps}} # Notes SystemD Timer Voir : * [[SystemD mount relancer un unit failed avec un Timer]] * [[Contrôle parental - Fermer la session après une certaine heure]] * https://documentation.suse.com/smart/systems-management/html/systemd-working-with-timers/index.html * https://github.com/util-linux/util-linux/blob/master/sys-utils/fstrim.timer Voir aussi : * [[Notes Ansible - Validate - file name extension]] NOTE : Dans le cas d'un service ne devant se lancer exclusivement par "timer" et non pas au démarrage de la machine : Dans ce cas le fichier ".service" ne contient pas de section **[Install]** ## Désactiver tous les timers Très utile après un `ntpdate`. Dans le cas contraire SystemD pourrait lancer d'un coups tous les timers ! ~~~bash systemctl list-timers --no-block --read-only --state active --output json | jq '.[].unit' | xargs systemctl stop # Vérif : systemctl list-timers --no-block --read-only --state active ~~~ Autres ~~~bash systemctl stop logrotate.timer systemctl disable logrotate.timer touch /var/lib/systemd/timers/stamp-logrotate.timer systemctl clean --what=state logrotate.timer systemctl enable logrotate.timer systemctl daemon-reload systemctl reload-or-restart logrotate.timer ~~~ ## Exemples ### atop-rotate `/usr/lib/systemd/system/atop-rotate.service` ~~~ini [Unit] Description=Restart atop daemon to rotate logs [Service] Type=oneshot ExecStart=/usr/bin/systemctl try-restart atop.service ~~~ `/usr/lib/systemd/system/atop-rotate.timer` ~~~ini [Unit] Description=Daily atop restart [Timer] OnCalendar=daily [Install] WantedBy=timers.target ~~~ ## Autres ~~~bash systemctl list-timers --all --state bad systemctl list-timers --all --state bad-setting systemctl list-timers --all --state error systemctl list-timers --all --state failed ~~~ FIXME