Meine Cron-Jobs werden eine Stunde später im Vergleich zur Serverzeit berechnet. Ich verstehe nicht, was los ist.
Meine Konfiguration ist die folgende:
Serverzeit :
Europe/Paris
In / etc / default / cron habe ich folgende Zeile hinzugefügt:
TZ="Europe/Paris"
Trotzdem werden Cron-Jobs eine Stunde später als die Serverzeit gestartet. Was wirklich schwierig ist, ist, dass wenn ich cron auffordere, die Anweisung "Datum" zu spielen, das Serverdatum angegeben wird (das gute!).
Ich habe keine Ahnung, wie ich dieses Problem lösen kann. Ich habe in Foren gelesen, aber nichts Interessantes gefunden.
Was denkst du ?
/etc/timezone
? Haben Sie/etc/timezone
kürzlich Änderungen vorgenommen , als dercron
Prozess gestartet wurde? Hast du es versucht/etc/init.d/cron restart
?Antworten:
(Kopieren meines Kommentars als Antwort, da es sich als Lösung herausstellte; ich habe richtig geraten.)
Daher werden Cron-Jobs in UTC geplant (
Europe/Paris
ein Versatz von einer Stunde gegenüber UTC).Die Vixie Cron Manpage sagt:
Was ist drin
/etc/timezone
? Haben Sie/etc/timezone
kürzlich Änderungen vorgenommen , als der Cron-Prozess gestartet wurde? Hast du es versucht?
quelle
Einige Distributionen wie Fedora bieten einen Mechanismus, mit dem Sie festlegen können
CRON_TZ=
, dass Ihre Standardzeitzone überschrieben wird.Von der Fedora
man 5 crontab
Etwas wie das:
quelle
Wikipedia sagt
Vielleicht hat Ihre Login-ID eine TZ-Einstellung, die sich von der TZ-Einstellung des Systems unterscheidet?
quelle
Cron neu zu starten war das, was ich brauchte, aber für mich war der Befehl
quelle
Habe das gerade auf Ubuntu 14/16 herausgefunden. Hat perfekt für mich funktioniert.
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
cron
neu gestartet?