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
.Ich hatte mein System auf UTC konfiguriert, bevor ich es auf meine lokale Zeitzone umstellte.
Ich stellte fest, dass ich cron neu starten musste, nachdem ich die Zeitzone des Systems geändert hatte.
quelle
Habe das gerade auf Ubuntu 14/16 herausgefunden. Arbeitete perfekt für mich.
Schritte (sudo impliziert):
cat /etc/timezone
rm -fv /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime
apt install -y --reinstall tzdata
/etc/init.d/rsyslog restart
tail -f /var/log/syslog
cat /etc/timezone
quelle