Sua sintaxe é traduzida para cada 15 segundos , se você quiser a cada 15 minutos , o IMO mais legível é:
OnCalendar=*:0/15
Uma resposta mais parecida com o que você usa em sua pergunta é:
OnCalendar=*:0,15,30,45
Mais informações:
Estou tentando fazer um temporizador systemd que é executado a cada 15 minutos. Agora eu tenho:
timer-fifteen.timer
:
[Unit]
Description=15min timer
[Timer]
OnBootSec=0min
OnCalendar=*:*:0,15,30,45
Unit=timer-fifteen.target
[Install]
WantedBy=basic.target
timer-fifteen.target
:
[Unit]
Description=15min Timer Target
StopWhenUnneeded=yes
Isso é repetido sem parar. Precisa ser *:0,15,30,45:*
? Como posso fazer isso funcionar?
Sua sintaxe é traduzida para cada 15 segundos , se você quiser a cada 15 minutos , o IMO mais legível é:
OnCalendar=*:0/15
Uma resposta mais parecida com o que você usa em sua pergunta é:
OnCalendar=*:0,15,30,45
Mais informações:
De acordo com o systemd.time , a configuração
OnCalendar=*:0/15
se traduz exatamente para
OnCalendar=*:0,15,30,45
ie. ativa a unidade exatamente na hora completa, assim como no último trimestre, meio e meio para.
Dependendo do seu serviço, isso pode não ser o que você quer, nem o que você precisa em todos os casos.
Um cronômetro que é executado a cada 15 minutos - por exemplo, 1:02, 1:17, 1:32, 1:47, 2:02, ... - sempre dependendo da hora em que foi última execução - pode ser realizada com a configuração systemd.timer
OnUnitActiveSec=15min
Agora, você também vai querer que a unidade inicie algum tempo após a inicialização (a menos que você queira ativar a unidade manualmente ou ter uma dependência que faça isso), então talvez você deva especificar
OnBootSec=10min
OnUnitActiveSec=15min
para que a unidade inicie 10 minutos após a inicialização e depois a cada 15 minutos depois dessa primeira vez.
Além disso, existe a configuração OnUnitInactiveSec
, que começa a contar o tempo após o serviço ter parado (ou, mais geralmente, a unidade foi inativada).
Tags systemd