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 Ihre TZ
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):
You can make this change permanent for yourself by appending the line
TZ='America/New_York'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/New_York
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:
/etc/sysconfig/clock
/etc/localtime
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:
# step 1
sudo vim /etc/sysconfig/clock
# change ZONE from UTC (or whatever it is) to your local TZ value:
ZONE="America/New York"
# (but leave this 2nd line alone!)
UTC=True
# step 2: copy your TZ value's dir/file (under zoneinfo) onto /etc/localtime
sudo cp -v /usr/share/zoneinfo/America/New_York /etc/localtime
# step 3
reboot
# Or if all you care about is crond, for instance, just
sudo systemctl restart crond.service # for CentOS 7 / Amazon Linux 2
# Or mysql on older init.d style RHEL 6 / CentOS 6 / Amazon Linux systems:
sudo /etc/init.d/mysqld restart
set
Befehl als Cron-Test auszuführen. Es könnte zeigen, dass etwas Interessantes in einer anderen Variablen festgelegt ist.