Seu CRON_TZ=
está em um lugar errado no seu arquivo crontab
, como um atributo de opção para /usr/bin/curl
.
Você deve tê-lo como uma variável de ambiente antes das entradas do cron :
CRON_TZ=Africa/Algiers
32 16 08 05 * /usr/bin/curl https://www.example.com/SendCron.php?CronID=382
Se você precisa ter o fuso horário configurado para uma única entrada cron na mesma linha, não é possível com a variável de ambiente CRON_TZ
, mas é necessário invocar env
(execute um programa em um ambiente modificado) para alterar o TZ
:
32 16 08 05 * /usr/bin/env TZ=Africa/Algiers /usr/bin/curl https://www.example.com/Send...
Observe que ambos alteram o fuso horário para o comando, não para o daemon do cron . O daemon cron apenas verifica se os campos correspondem ou não à hora atual, independentemente da variável CRON_TZ
. A página de manual para systemd-cron crontab
explica essa limitação:
The systemd-cron units runs with a defined timezone. It currently does not support per-user timezones. All the tasks: system's and user's will be run based on the configured timezone. Even if a user specifies the TZ environment variable in his crontab this will affect only the commands executed in the crontab, not the execution of the crontab tasks themselves.
Se você precisar executar os agendamentos com base no fuso horário, deverá alterar o fuso horário do servidor , por exemplo:
ln -sf /usr/share/zoneinfo/Africa/Algiers /etc/localtime