Ich habe CentOS und wenn ich einen date
Befehl in der Shell ausführe, wird mir Folgendes zurückgegeben:
Do 28. April 14:08:20 GMT 2011
Cron-Jobs werden jedoch zur PST-Zeit ausgeführt. Bedeutet, wenn ich dies spezifiziere
15 7 * * * Befehl
Es wird mit 7 PST und nicht mit 7 GMT ausgeführt. Bitte sagen Sie mir, warum dies geschieht.
Vielen Dank
Ausgaben des Befehls hwclock:
/usr/sbin/hwclock --utc
Kein Zugriff auf die Hardware Clock über eine bekannte Methode möglich.
Verwenden Sie die Option --debug, um die Details unserer Suche nach einer Zugriffsmethode anzuzeigen.
Und als ich mit debug lief:
/usr/sbin/hwclock --debug
hwclock von util-linux-2.13-pre7 hwclock: Öffnen von / dev / rtc fehlgeschlagen, errno = 2: Keine solche Datei oder kein solches Verzeichnis. Keine verwendbare Uhrschnittstelle gefunden. Kein Zugriff auf die Hardware Clock über eine bekannte Methode möglich
set
Befehl als Cron-Test auszuführen. Es könnte zeigen, dass etwas Interessantes in einer anderen Variablen festgelegt ist.Die Frage ist etwas alt, aber das Ändern der Zeitzone und das Erkennen der Änderung durch crond ist unter CentOS immer noch ein Problem: Ich habe festgestellt, dass das Syslog-Deamon nach dem Ändern der Zeitzone auch mit neu gestartet werden muss
Siehe Timzone falsch nur für Protokolldateien?
quelle
Ich glaube, dass "cron" basierend auf der Hardware-Uhr läuft, nicht auf der Uhr der konfigurierten Zeitzone. Versuchen Sie, "hwclock" anstelle von "date" zu betrachten, da "date" an die konfigurierte Zeitzone Ihrer Benutzer angepasst wird.
quelle
Es gibt zwei Möglichkeiten, die Zeitzone zu ändern (mindestens unter CentOS 5, 6, 7 sowie die entsprechenden RHEL 5-, 6- und 7-Distributionen, Amazon Linux und Amazon Linux 2, die jeweils auf CentOS 6 und 7 basieren). abhängig vom Umfang dessen, was Sie beeinflussen möchten.
Zuerst müssen Sie ausführen
tzselect
(Kontinent, Land und Zeitzone auswählen), um den richtigen Wert für IhreTZ
Umgebungsvariable zu erhalten. Dann:1. Befolgen Sie die Anweisungen, um die Zeitzone für Programme zu ändern, die Sie über die Befehlszeile ausführen, sowie für alle Ihre interaktiven Shell-Prozesse (hier ist meine, die beispielsweise den
TZ
Wert für US Eastern Time anzeigt):2. Um jedoch die Zeitzone "System" zu ändern, die von Syslog, Crond, MySQL, Apache und anderen Daemon-Prozessen verwendet wird, die beim Start vom Init-System erzeugt werden, müssen Sie root werden und diese beiden Dateien ändern:
Wenn ich zum Beispiel einen in Texas oder Kalifornien gehosteten Server verwende, habe ich festgestellt, dass diese auf die Zeit im zentralen oder pazifischen Raum verweisen, was für mich unpraktisch ist, und alle unsere Benutzer, Entwickler und Systemadministratoren sind ebenfalls an der Ostküste, um dies zu ändern Systemzeit mache ich diese Schritte:
quelle