Eu tenho um cronjob que é executado todos os dias às 9:00 da hora UTC. Estou no GMT + 1, então ele é executado às 10:00 no horário local. Quando há a alteração do fuso horário (para horário de verão, horário de verão), o cronjob ainda é executado às 9:00 da hora UTC, mas às 11:00 da hora local. Mas quero que seja sempre executado às 10:00, independentemente do horário de verão ou não. Como faço isso?
10
Respostas:
Verifique sua configuração em / etc / fuso horário. Na pergunta que você mencionou, você está em "GMT + 1"; se é assim que seu fuso horário está definido, seu script sempre será executado no UTC mais uma hora. Se você definir como, por exemplo, "Europa / Paris", o tempo de execução mudará com o horário de verão.
fonte
Isso provavelmente dependerá do seu sistema operacional e da sua implementação
cron
. Isso não é possível na implementação cron mais popularvixie/isc cron
,. Decrontab(5) manpage
:fonte
Expandir a resposta do @Cyrus foi o que eu fiz:
Eu fiz um script que verificou um deslocamento UTC:
Em seguida, adiciono duas entradas crontab para o deslocamento que desejo:
fonte
Na página do manual:
fonte
Mova seu cronjob para 8:00 e durma uma hora se estiver no GMT + 1
fonte