Zeitdifferentz zwischen Linux und Windows

Antworten
Nachricht
Autor
highjumper

Zeitdifferentz zwischen Linux und Windows

#1 Beitrag von highjumper » 02. Apr 2008 14:25

Hallo ich hab ein Problem: Ich verwende ein Linux Server mit SLES 9 und eun Windows 2000 Server. Auf dem Linuxserver habe ich ein Laufwerk des Windowsservers gemappt. Wenn ich nun in das gemappte Laufwerk eine Datei kopiere wird sie mit einem Zeitstempel versehen (Aktuelle Zeit minus eine Stunde) der der Winterzeit entspricht. Beide Server sind aber auf Sommerzeit umgestellt. Linux steht in CEST und Windows in GMT +1 und ist auf Sommerzeit gestellt.

Woher kann der Zeitversatz kommen?

Vielen Dank
highjumper

Benutzeravatar
Janka
Beiträge: 3578
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 02. Apr 2008 16:17

Unix und Windows handhaben die Zeitzonen und auch die Sommerzeitumstellung unterschiedlich. Unix hat eine monotone Zeit in Sekunden seit dem 1.1.1970 0:00 UTC. (negative Zahlen geben die Zeit vor diesem Zeitpunkt an). Alle *angezeigten* Zeiten werden hingegen um die Zeitzone und die zu dem Zeitpunkt gültige Sommerzeit korrigiert.

Das ist natürlich die einzig richtig Methode, es zu tun, denn wenn jemand den Server in eine andere Zeitzone schleppt, oder auch nur Dateien kopiert, stimmen die Zeitstempel weiterhin.

Und wenn es eine funktionierende, genormte, richtige Methode gibt, kann man sich sicher sein, dass Microsoft es natürlich *nicht so* macht: MS-Windows stellt die *Systemuhr* auf die Sommerzeit um und zum Winter zurück, so dass Zeitstempel in Dateien die aktuelle Uhrzeit auf dem Rechner dokumentieren. Mit diesem System haben Dateien nur dann dieselbe Zeit, wenn alle Rechner dieselbe Zeitzone benutzen und dasselbe Umstellschema benutzen.

Außerdem führt dies dazu, dass MS-Windows den ersten und den zweiten Durchlauf der Zeit zwischen 2Uhr und 3Uhr während einer Winterzeitumstellung nicht auseinanderhalten kann. Toll!

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

highjumper

#3 Beitrag von highjumper » 03. Apr 2008 6:21

OK, das hab ich verstanden, aber wie löse ich mein Problem? Wenn ich jetzt auf einem der beiden Server die Zeitzone änder, bekomme ich zwar bei den verschobenen Dateien die richtige Zeit, aber alle anderen sind falsch?!

Benutzeravatar
Janka
Beiträge: 3578
Registriert: 11. Feb 2006 19:10

#4 Beitrag von Janka » 03. Apr 2008 11:07

Die Windowsrechner musst du so einstellen, dass sie die Zeit per NTP holen (bspw. vom Linuxrechner). NTP verteilt grundsätzlich UTC, so dass die Windowsrechner ihr eigenes Schema dafür aufgeben müssen.

Als Admin in cmd.exe z.B.

Code: Alles auswählen

> net time /setsntp&#58;<IP-DES_LINUXRECHNERS>
Oder so wie hier beschrieben:
http://www.a-m-i.de/tips/w32time/w32time.php

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten