filetime bei ftp und rsync um 1 Std. verschoben

Hallo Liste, ich habe hier ein seltsames Problem: nachdem ich zwischen 2 Rechnern (OS 12.1) ein rsync eingerichtet hatte, dieses aber "irgendwie spinnt" habe ich zu forschen begonnen. Auf beiden Rechnern ist im Yast/Date&Time ein Hakerl bei "hw-clock set to UTC" Beide rechner holen sich die aktuelle Zeit aus dem Netz über ntp Auf beiden Rechnern zeigt die KDE-Uhr die korrekte zeit. Trotzdem: Wenn ich über ftp (oder auch im dolphin, was ja auch über ftp geht) von Rechner B auf A zugreife und mir die Dateiliste eines Directories hole, sind die Zeitstempel um 1 Stunde "früher". Z.B., die Datei xxx.txt liegt physisch auf Rechner A und hat eine Dateizeit von 10:43 Schaue ich mit ftp (oder Dolphin) von Rechner B auf A, sehe ich eine Dateizeit von 9:43 Das führt dazu, dass Dateien, die auf beiden Rechnern existieren aber auf A "innerhalb 1 Stunde" modifiziert wurden, von rsync nie als "neuer" erkannt werden. Wo kann ich suchen / drehen ??? Ist mir ein Rätsel .... Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Am Freitag 28 Dezember 2012 schrieb Norbert Zawodsky: snip
Das ist nur ein Vermutung! Was passiert bzw siehst du, wenn beide Rechner auf lokale Zeit gestellt sind und die HW-/BIOS-Uhr entsprechend korrigiert ist? -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Am 28.12.2012 16:58, schrieb Matthias Müller:
GENAU das Gleiche! Ich versteh's nicht...... Lassen wir mal KDE außer Acht. Wenn ich ein Terminal-Fanester aufmache und dort mit "ls" die Dateizeiten anschaue, dann spielt ja keine Zeitkorrektur von KDE mit, oder ????? Wieso sehe ich auf Rechner A in einem Terminal bei einer Datei z.B. 10:43 und über ftp/rsync von Rechner B->A 9:43 ????????? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am Sun, 30 Dec 2012 00:58:16 +0100 schrieb Norbert Zawodsky <norbert@zawodsky.at>:
Prüfe ob auf beiden Systemen im Bios die Zeit auf GMT gesetzt ist und nicht auf lokale Zeit. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, Am Sonntag 30 Dezember 2012 schrieb Dieter Klünter: snip
Prüfe ob auf beiden Systemen im Bios die Zeit auf GMT gesetzt ist und nicht auf lokale Zeit.
Nicht nur das, sondern auch den Inhalt der Systemvariable TZ siehe auch "man timezone" Die Uhrzeit auf unterschiedlichen Rechnern synchron zu halten _ist_ kompliziert, noch dazu, wenn Dualboot zum Einsatz kommt. Windows und Linux haben da grundsätzlich unterschiedliche Auffassungen wie die Zeit verwaltet wird. -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Matthias Müller schrieb:
Das Problem ist aber nur, auf welcher Zeit (Ortszeit oder UTC) der RTC-Chip auf dem Mainboard läuft. Diese RTC-Zeit wird bei Windows und Linux in der Regel nur einmal nach dem Booten gelesen, um die Systemzeit zu initialisieren, d. h. bei Dual Boot und falscher Einstellung kann die Zeit direkt nach dem Booten falsch sein. Wenn allerdings NTP verwendet wird und die Systemzeit synchronisiert, wird das kurz nach dem Booten korrigiert und die Systemzeit (UTC) ist dann korrekt. Wenn ich mich recht erinnere, ist das bei dem Szenario hier der Fall. Welche Zeit *angezeigt* wird, hängt von der effektiven Zeitzoneneinstellung ab. Bei Linux gibt es eine Defaulteinstellung fürs System, die normalerweise bei der Installation (Yast) eingestellt wird und auch als Defaulteinstellung für die Benutzer verwendet wird. Allerdings kann jeder Benutzer auch seine eigenen Zeitzone auswählen, und es können sogar einzelne Prozesse mit unterschiedlichen Zeitzonen-Einstellungen laufen. Versuch mal: # date -u; date So 30. Dez 11:09:30 UTC 2012 So 30. Dez 12:09:30 CET 2012 Die erste Zeile zeigt die UTC-Systemzeit, die zweite die Ortszeit je nach der von mir eingestellten Zeitzone, CET = UTC+1h. Als nächstes: # touch tmp.txt # ls -l tmp.txt -rw-r--r-- 1 martin users 0 30. Dez 12:12 tmp.txt Hier zeigt ls den Zeitstempel der Datei in meiner Ortszeit an. Ich kann aber auch die Zeitzoneneinstellung für den einmaligen Aufruf von ls die überschreiben, indem ich die Environment-Variable TZ verstelle: # TZ= ls -l tmp.txt -rw-r--r-- 1 martin users 0 30. Dez 11:12 tmp.txt Im Beispiel oben wird die TZ-Einstellung komplett weggenommen, d.h. die Zeitanzeige erfolgt in UTC, 11:12h statt 12:12h. Soweit ich weiß, sind die "echten" Dateizeiten unter Linux immer UTC, und werden nur für die Ausgabe auf Ortszeit umgerechnet. Nach meiner Erfahrung macht rsync das richtig und synchronisiert die Zeiten korrekt. Ich würde den "Fehler" hier bei der Zeitzonen-Einstellung für FTP suchen. Ich weiß nicht, ob bei FTP standardmäßig die "echten" UTC-Dateizeiten übertragen werden oder die auf Ortszeit umgerechneten. Auf jeden Fall scheint der FTP-Server oder der Client mit einer anderen (bzw. ohne) Zeitzoneneinstellung zu laufen. Wenn der UTC statt CET verwendet, hast du die 1 Stunde Differenz in der Anzeige. Es wäre z.B. denkbar, dass auf einem der Rechner die Systemeinstellung der Zeitzone UTC ist, und nur die zeitzone für den Benutzer auf Europe/Berlin (=CET) gestellt ist. Dann würde der FTP-Server mit UTC laufen und andere Zeiten anzeigen als der "normale" Benutzer auf dem gleichen Rechner mit Zeitzone CET. Ich hoffe, das war jetzt nicht zu kompliziert ausgedrückt. ;-) Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 30.12.2012 12:29, schrieb Martin Burnicki:
Hallo Martin, genau das was du hier schreibst habe ich schon vermutet. Aber wo/wie finde ich die "Zeitzoneneinstellung" des ftp servers/clients ?????? Vorallem des clients? Am server läuft der vsftpd. im vsftpd.conf habe ich die Optionuse_localtime NICHT gefunden, somit sollte der default NO gelten. Und vorallem, wieso ist rsync ebenfalls betroffen ?????? Alls sehr kryptisch... Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Norbert, Norbert Zawodsky schrieb:
Ohne das jetzt genauer untersucht zu haben: Das hört sich an, als ob die Systemzeiten (UTC-Zeiten) beider Rechner tatsächlich um 1h voneinander abweichen, was aber nicht vorkommen sollte, wenn NTP läuft und auch funktioniert. Um mehr über die Ursache herauszufinden, solltest du mal diese Befehlszeile date; date -u; ntpq -p auf beiden Maschinen als root ausführen (möglichst auch kurz hintereinander) und die Ausgabe posten. Das sollte Aufschluss geben, ob die Zeitsynchronisierung über NTP tatsächlich funktioniert, d.h. die UTC-Zeiten sind beide gleich und richtig, und welche Standard-Zeitzoneneinstellung auf beiden Maschinen eingestellt wurde. Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 30.12.2012 18:58, schrieb Martin Burnicki:
Hallo Martin, bin erst wieder heute spät Abends vor Rechner B zu demn ich remote leider nicht hin kann (hab vergessen den sshd zu starten). Kann also erst dann deine vorgesachlagene "Befehlszeile" eingeben. Von B komme ich dann aber sehr wohl über ssh auf A. Werde versuchen die beiden Befehle "möglichst zeitgleich" los zu lassen...) Danke fürs mitdenken !! Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Norbert Zawodsky schrieb:
Ich werde wahrscheinlich die nächsten beiden Tage überwiegend offline sein, weiß also auch nicht, wann ich wieder antworten kann. *Wenn* die Systemzeiten wirklich per NTP synchronisiert sind, spielt die Gleichzeitigkeit der Befehlsaufrufe keine Rolle, aber um sicher zu sein, wäre es besser, sie wenigstens ein paar Sekunden oder Minuten nacheinander auf beiden Rechnern auszuführen.
Danke fürs mitdenken !!
Freut mich, wenn ich (hoffentlich) helfen kann. Guten Rutsch ins neue Jahr! Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 30.12.2012 18:58, schrieb Martin Burnicki:
date; date -u; ntpq -p Hallo Martin,
habe es jetzt ausprobiert. Das Ergebnis: Server: date; date -u; ntpq -p So 30. Dez 23:45:04 CET 2012 So 30. Dez 22:45:04 UTC 2012 remote refid st t when poll reach delay offset jitter ============================================================================== LOCAL(0) .LOCL. 10 l 138d 64 0 0.000 0.000 0.000 *palmers.nobody. 193.171.23.163 2 u 682 1024 377 15.008 0.134 0.608 Client: date; date -u; ntpq -p So 30. Dez 23:45:03 CET 2012 So 30. Dez 22:45:03 UTC 2012 remote refid st t when poll reach delay offset jitter ============================================================================== *fetchmail.media 83.64.124.251 2 u 46 64 17 30.780 1.928 1.373 date und date -u sehen auf beiden Rechnern ziemlich gleich aus, oder? Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Norbert, sorry wegen der späten Antwort. Norbert Zawodsky schrieb:
Ja, es sieht alles gut aus. Ich habe ein bißchen rumgespielt und es ist wohl so, dass vsftpd per default die UTC-Zeiten ausgibt. Ich denke, damit man immer die "gleiche" Zeit sieht, egal von wo auf der Welt (aus welcher Zeitzone) man auf den FTP-Server schaut. Mit rsync sollte dennoch alles korrekt funktionieren, und die per rsync kopierte Datei sollte (bei Verwendung von rsyncv -av) die gleichen Zeitstempel haben wie die Originaldatei auf dem entfernten System. Zu vsftp habe ich auch noch dies gefunden: "vsftp is reporting times as GMT" http://amanica.blogspot.de/2009/01/vsftp-is-reporting-times-as-gmt.html Ich hab's nicht ausprobiert, aber wenn dich die UTC-Zeit stört, kannst du es ja einmal testen. Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo Am Freitag 28 Dezember 2012 schrieb Norbert Zawodsky: snip
Das ist nur ein Vermutung! Was passiert bzw siehst du, wenn beide Rechner auf lokale Zeit gestellt sind und die HW-/BIOS-Uhr entsprechend korrigiert ist? -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Am 28.12.2012 16:58, schrieb Matthias Müller:
GENAU das Gleiche! Ich versteh's nicht...... Lassen wir mal KDE außer Acht. Wenn ich ein Terminal-Fanester aufmache und dort mit "ls" die Dateizeiten anschaue, dann spielt ja keine Zeitkorrektur von KDE mit, oder ????? Wieso sehe ich auf Rechner A in einem Terminal bei einer Datei z.B. 10:43 und über ftp/rsync von Rechner B->A 9:43 ????????? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am Sun, 30 Dec 2012 00:58:16 +0100 schrieb Norbert Zawodsky <norbert@zawodsky.at>:
Prüfe ob auf beiden Systemen im Bios die Zeit auf GMT gesetzt ist und nicht auf lokale Zeit. -Dieter -- Dieter Klünter | Systemberatung http://dkluenter.de GPG Key ID:DA147B05 53°37'09,95"N 10°08'02,42"E -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Hallo, Am Sonntag 30 Dezember 2012 schrieb Dieter Klünter: snip
Prüfe ob auf beiden Systemen im Bios die Zeit auf GMT gesetzt ist und nicht auf lokale Zeit.
Nicht nur das, sondern auch den Inhalt der Systemvariable TZ siehe auch "man timezone" Die Uhrzeit auf unterschiedlichen Rechnern synchron zu halten _ist_ kompliziert, noch dazu, wenn Dualboot zum Einsatz kommt. Windows und Linux haben da grundsätzlich unterschiedliche Auffassungen wie die Zeit verwaltet wird. -- Mit freundlichen Grüßen Matthias Müller (Benutzer #439779 im Linux-Counter http://counter.li.org) PS: Bitte senden Sie als Antwort auf meine E-Mails reine Text-Nachrichten!

Matthias Müller schrieb:
Das Problem ist aber nur, auf welcher Zeit (Ortszeit oder UTC) der RTC-Chip auf dem Mainboard läuft. Diese RTC-Zeit wird bei Windows und Linux in der Regel nur einmal nach dem Booten gelesen, um die Systemzeit zu initialisieren, d. h. bei Dual Boot und falscher Einstellung kann die Zeit direkt nach dem Booten falsch sein. Wenn allerdings NTP verwendet wird und die Systemzeit synchronisiert, wird das kurz nach dem Booten korrigiert und die Systemzeit (UTC) ist dann korrekt. Wenn ich mich recht erinnere, ist das bei dem Szenario hier der Fall. Welche Zeit *angezeigt* wird, hängt von der effektiven Zeitzoneneinstellung ab. Bei Linux gibt es eine Defaulteinstellung fürs System, die normalerweise bei der Installation (Yast) eingestellt wird und auch als Defaulteinstellung für die Benutzer verwendet wird. Allerdings kann jeder Benutzer auch seine eigenen Zeitzone auswählen, und es können sogar einzelne Prozesse mit unterschiedlichen Zeitzonen-Einstellungen laufen. Versuch mal: # date -u; date So 30. Dez 11:09:30 UTC 2012 So 30. Dez 12:09:30 CET 2012 Die erste Zeile zeigt die UTC-Systemzeit, die zweite die Ortszeit je nach der von mir eingestellten Zeitzone, CET = UTC+1h. Als nächstes: # touch tmp.txt # ls -l tmp.txt -rw-r--r-- 1 martin users 0 30. Dez 12:12 tmp.txt Hier zeigt ls den Zeitstempel der Datei in meiner Ortszeit an. Ich kann aber auch die Zeitzoneneinstellung für den einmaligen Aufruf von ls die überschreiben, indem ich die Environment-Variable TZ verstelle: # TZ= ls -l tmp.txt -rw-r--r-- 1 martin users 0 30. Dez 11:12 tmp.txt Im Beispiel oben wird die TZ-Einstellung komplett weggenommen, d.h. die Zeitanzeige erfolgt in UTC, 11:12h statt 12:12h. Soweit ich weiß, sind die "echten" Dateizeiten unter Linux immer UTC, und werden nur für die Ausgabe auf Ortszeit umgerechnet. Nach meiner Erfahrung macht rsync das richtig und synchronisiert die Zeiten korrekt. Ich würde den "Fehler" hier bei der Zeitzonen-Einstellung für FTP suchen. Ich weiß nicht, ob bei FTP standardmäßig die "echten" UTC-Dateizeiten übertragen werden oder die auf Ortszeit umgerechneten. Auf jeden Fall scheint der FTP-Server oder der Client mit einer anderen (bzw. ohne) Zeitzoneneinstellung zu laufen. Wenn der UTC statt CET verwendet, hast du die 1 Stunde Differenz in der Anzeige. Es wäre z.B. denkbar, dass auf einem der Rechner die Systemeinstellung der Zeitzone UTC ist, und nur die zeitzone für den Benutzer auf Europe/Berlin (=CET) gestellt ist. Dann würde der FTP-Server mit UTC laufen und andere Zeiten anzeigen als der "normale" Benutzer auf dem gleichen Rechner mit Zeitzone CET. Ich hoffe, das war jetzt nicht zu kompliziert ausgedrückt. ;-) Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org

Am 30.12.2012 12:29, schrieb Martin Burnicki:
Hallo Martin, genau das was du hier schreibst habe ich schon vermutet. Aber wo/wie finde ich die "Zeitzoneneinstellung" des ftp servers/clients ?????? Vorallem des clients? Am server läuft der vsftpd. im vsftpd.conf habe ich die Optionuse_localtime NICHT gefunden, somit sollte der default NO gelten. Und vorallem, wieso ist rsync ebenfalls betroffen ?????? Alls sehr kryptisch... Norbert -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (4)
-
Dieter Klünter
-
Martin Burnicki
-
Matthias Müller
-
Norbert Zawodsky