Como posso executar tarefas cron no GMT, e não na hora local?
este é o meu arquivo crontab:
#m h d m wday command
TZ=GMT
5 0,6,12,18 * * * ~/Documents/bash/transfer.sh
meus trabalhos parecem estar em execução no horário local (GMT + 11) Estou executando o OS X Snow Leopard, mas passarei o código para o Linux quando o desenvolvimento estiver concluído.
O ambiente linux pode ser um ambiente compartilhado, onde eu posso ter menos controle sobre a configuração.
Respostas:
Nem todas as versões
cron
suportam a execução de trabalhos usando um fuso horário diferente do sistema.Se o seu for o caso, é provável que a especificação seja
TZ=GMT
ouTZ=UTC
(sem os colchetes angulares). Em alguns casos, a variável seriaCRON_TZ
.A melhor coisa a fazer é verificar a documentação específica para o sistema específico. Veja
man 5 crontab
.fonte
Se a sua hora local é
Europe/London
. Então:Outro exemplo:
Se o seu horário normal é
+0500
turno deUTC
, e o horário sazonal é+0600
turno deUTC
. Em seguida, adicione+5
todas as horas especificadas no exemplo acima. Isso significa ser executado na08:15am
e no09:15am
horário local, respectivamente. Portanto, suas linhas cron modificadas ficariam assim:[EDIT] Não se esqueça de
\
escapar de qualquer porcentagem de%
caracteres no seu arquivo crontab. Como o crontab os interpreta como um separador de nova linha. por exemplo%
->\%
.fonte
Talvez você possa quebrar o binário crond original.
fonte