# \[systemd\] Timer dans une plage horaire

**URL:** <https://www.debian-fr.org/t/systemd-timer-dans-une-plage-horaire/75789>\
**Category:** Programmation\
**Created:** [Janvier 30, 2018, 3:58 UTC](https://www.debian-fr.org/t/systemd-timer-dans-une-plage-horaire/75789 "2018-01-30T15:58:14Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Janvier 30, 2018, 3:58 UTC](https://www.debian-fr.org/t/systemd-timer-dans-une-plage-horaire/75789/1 "2018-01-30T15:58:14Z")

</div>

Bonjour,

je souhaite activer mon service systemd toto.service toutes les 10 minutes, mais seulement dans une plage horaire donnée (8h-20h par exemple).

toto.service est un service “one-shot” de type simple, qui est appelé par son timer toto.timer:

```auto
[Unit]
Description=Activer toto toutes les 10 minutes

[Timer]
OnUnitActiveSec=10min

```

Jusque là pas de soucis, `systemctl list-timers` montre bien que toto.timer va activer toto.service toutes les 10 minutes.

Mais dans les différentes documentations que j’ai lues, je n’ai pas trouvé de moyen pour que toto.timer **n’active pas** toto.service entre 20h et 8h.

Alors je pourrais contourner le problème en modifiant toto.service (les commandes qu’il exécute) pour y ajouter un test du type “si il est entre 20h et 8h alors on ne fait rien”, ou alors avec un autre timer (ou un job cron) qui désactive toto.timer à 20h et le réactive à 8h, mais si vous connaissez une façon élégante de faire ça avec simplement la configuration du timer, je suis très intéressé.

(j’ai un peu hésité pour la section du forum où ouvrir ce thread, n’hésitez pas à déplacer si nécessaire)

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Janvier 30, 2018, 4:20 UTC](https://www.debian-fr.org/t/systemd-timer-dans-une-plage-horaire/75789/2 "2018-01-30T16:20:10Z")

</div>

Bon en fait en écrivant le post, je me suis rendu compte que je pourrais, à la place de `OnUnitActiveSec=10min`, utiliser `OnCalendar=*-*-* 8..20:00,10,20,30,40,50:00` en ajoutant `Persistent=true` pour assurer une reprise en cas de pépin…  
Comme quoi, formaliser correctement un problème, ça aide déjà pas mal.
