2016-09-16 1 views
0

Wir betreiben mehrere Server und eine Datenbank auf unserem Cloud-Server. Die JVM scheint um 2 Stunden ausgeschaltet zu sein, da sie in der UTC-Zeit arbeitet, wenn sie in CEST arbeiten sollte.Wie kann ich Probleme mit der JVM-Ländereinstellung auf unserem CentOS-Server beheben?

Wenn ich in den Server ssh und laufen date ich folgendes:

Fri Sep 16 09:21:16 CEST 2016 

Unsere Datenbank ist auf der Systemzeit und es hat die gleiche (richtige) Zeit wie oben. Was genau ich erwarte.
Wenn ich mir die Protokolldateien für meine Java-Server anschaue, die Log4j2 als Logger verwenden, sind die Timestamps in den Protokollnachrichten in Ordnung (die Zeitzone ist in der Datei log4j2.xml konfiguriert), aber ein vom Server gedrucktes Datum ist deaktiviert . Wenn ich die Zeitzone aus der Log4j2-Konfigurationsdatei entferne, wird sie ebenfalls auf UTC zurückgesetzt.

Nachdem er eine Weile bei der oben schaut, lief ich den Befehl ‚locale‘, und bekam die folgende:

LANG=en_US.UTF-8 
LC_CTYPE="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_PAPER="en_US.UTF-8" 
LC_NAME="en_US.UTF-8" 
LC_ADDRESS="en_US.UTF-8" 
LC_TELEPHONE="en_US.UTF-8" 
LC_MEASUREMENT="en_US.UTF-8" 
LC_IDENTIFICATION="en_US.UTF-8" 
LC_ALL= 

Dies ist eindeutig falsch.
Bevor ich dies am Live-Server änderte, änderte ich die Datei locale.conf auf unserem Testserver und startete sie neu, um zu sehen, ob die Änderungen einen Unterschied machen würden. Sie haben nicht. Die auf dem Testserver laufenden Java-Server hatten immer noch die gleiche Zeit wie vor der Änderung.

Was fehlt mir hier? Diese Server laufen als Dienste auf dem Server und haben ihre eigenen Benutzer und Gruppen (ich weiß nicht, ob das relevant ist).

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Die timezone auf dem Server nicht von den lokalen Einstellungen gesteuert wird, die jvm braucht seine Zeit aus dem Systemtakt, die eine separate Sache. Dieser Befehl löste das Problem für mich:

sudo timedatectl set-timezone Europe/Stockholm 

Auch sehen this detailed answer ich auf serverfault erhalten.

Verwandte Themen