Cron wird in der Ortszeit ausgeführt. Auf einigen Systemen können Sie jedoch eine TZ = -Zeile verwenden, um bestimmte Zeilen in verschiedenen Zeitzonen auszuführen. Andere Systeme unterstützen dies nicht. Wenn Sie eine haben TZ=UTC
oder TZ=GMT
Zeile, kommentieren Sie das aus. Wenn nicht, versuchen Sie es mit Hinzufügen TZ=IST
in einer eigenen Zeile vor Ihrem ersten Eintrag. Verwenden man crontab
sollte die TZ = -Zeile dokumentieren, wenn Ihr System dies unterstützt. Achten Sie auf Probleme mit der Sommerzeit, wenn Sie die Zeitzone angeben.
Wenn cron wirklich in UTC ausgeführt wird, gibt es verschiedene Möglichkeiten, einschließlich der Möglichkeit, dass Ihr System in UTC ausgeführt wird oder dass cron irgendwie mit der auf UTC festgelegten TZ-Umgebungsvariablen gestartet wurde. Art
date
um zu sehen, wie viel Uhr Ihr System hält. Stellen Sie sicher, dass die TZ - Variable in Ihrer Shell nicht gesetzt ist (überprüfen Sie mit printenv TZ
, die nichts zurückgeben sollten).
Tun
ps auxwwe | grep cron | grep TZ
um zu testen, ob Cron mit dem TZ-Set gestartet wurde. Wenn es nichts zurückgibt, wurde TZ beim Start nicht festgelegt. Wenn es gesetzt ist, müssen Sie Ihren Bootprozess zurückverfolgen, um zu sehen, wo TZ gesetzt wurde. Beginnen Sie mit dem Skript, das cron gestartet hat.
Es gibt mehr über Cron und Zeitzonen hier:
https://askubuntu.com/questions/54364/how-do-you-set-the-timezone-for-crontab
--jh--
CRON_TZ
funktioniert für Amazon Linux. So fügen Sie dies oben in Ihren Cron-Eintrag ein:CRON_TZ="America/Chicago"
. Laufman 5 crontab
und suchen Sie nach TZ, um zu überprüfen, ob Ihre Distribution dies unterstütztCRON_TZ
.