AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten schon
Thema durchsuchen
Ansicht
Themen-Optionen

Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten schon

Ein Thema von Andreas13 · begonnen am 30. Okt 2021 · letzter Beitrag vom 31. Okt 2021
Antwort Antwort
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#1

Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten schon

  Alt 30. Okt 2021, 19:52
Hallo Community,
aus aktuellem Anlaß der alljährlichen Zeitumstellung frage ich Euch nach der Lösung folgenden Problems:

Meine geänderten Daten transportiere ich über ein USB-Stick auf meine weiteren PC‘s und externen Festplatten, zwecks Synchronisierung der Datenbestände. Ich verwende dafür einen Batch, der im Wesentlichen mit xcopy arbeitet.
Beispiel:
E: ist das USB-Laufwerk, C: , D: etc. sind logische Laufwerke auf der Festplatte. Auf E: existiert für jedes logische Laufwerk ein Unterverzeichnis z.B. E:\C\, E:\D\ usw.
Mit diesem Befehl kopiere ich die geänderten Daten von D:\ auf dem USB-Stick ins Verzeichnis E:\ D\ und setze gleichzeitig auch die Archiv-Attribute zurück:
Code:
xcopy *.* E:\D\*.* /M /S /Y
Auch zum Einspielen auf die anderen PC’s bzw. externen Festplatten benutze ich xcopy:
Code:
E:\D\*.* D:*.* /s /D /Y
Die zu transportierenden Files verbleiben als zusätzliche Datensicherung auf dem Stick.
Das funktioniert seit Jahrzehnten sehr zuverlässig, aber an einem Wochenende im Herbst (also genau heute) funkt die Zeitumstellung von Sommerzeit auf die „normale“ Zeit dazwischen, weil die Files auf dem USB-Stick das „Zurückdrehen“ der Uhrzeit nicht mitbekommen, aber eine externe USB-Festplatte schon!

Die Folge ist, daß heute Nacht auf dem USB-Stick alle Files auf einen Schlag um 1 Stunde jünger werden als die gleichen Files auf der Festplatte: Daher würde beim Einspielen der komplette Inhalt des Sticks (bis zu 32 GB und mehr) auf die anderen PC’s und externen Festplatten kopiert und beim nächsten Sichern wieder geholt. Das bedeutet je nach Anzahl der PC's und Festplatten oft ein stundenlanges sinnloses Hin-und-Herkopieren unveränderter Datenbestände. (Im Frühling macht jedoch das „Vordrehen“ der Uhr für das Kopieren nicht aus.)

Meine bisherige Abhilfe ist/war, daß ich am letzten Samstag im Oktober überall alle Daten auf denselben Stand gebracht habe und ab dem ersten Tag der herbstlichen Zeitumstellung ein neues USB-Stick verwendet habe. Es ist lästig, und wenn ich es mal vergesse, dann habe ich mir viel überflüssige Arbeit gemacht.

Kurz und gut:
Wie kann man dem USB-Stick die Zeitumstellung „beibringen“?
Schließlich bekommt eine externe – über eine USB-Schnittstelle gelegentlich angeschlossene – Festplatte die Zeitumstellung ja auch automatisch mit.

Vielen Dank für Eure Hilfe im Voraus!
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (30. Okt 2021 um 19:54 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#2

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 30. Okt 2021, 20:23
Das hat nichts damit zu tun, dass hier Sticks statt Festplatten benutzt werden sondern mit dem Dateisystem. NTFS speichert intern alles als UTC und zur Anzeige wird das in lokale Zeit umgerechnet. FAT-Dateisysteme (außer vielleicht exFAT) speichern immer lokale Zeit. Deswegen führen Zeitumstellungen sowie Umzüge in andere Zeitzonen zu solchen Problemen bei Verwendung von FAT-Dateisystemen.

Lösungsmöglichkeiten:
  • Ordentliches Synchronisierungsprogramm oder Backupprogramm benutzen
  • Alle relevanten Datenträger mit demselben Dateisystem ausstatten, sinnvollerweise NTFS.
Für Möglichkeit 1 bietet sich z.B. Rsync (cwRsync) an, oder vielleicht auch Robocopy. Rsync vergleicht immer Zeitstempel und Größe bevor es an den Inhalt geht, d.h. im Idealfall (bei gleicher Dateigröße) werden nur Zeitstempel synchronisiert, aber keine Inhalte. Unter anderem deswegen ist Rsync so schnell. Ob und wie die Erkennung von Änderungen an Dateien bei Robocopy erfolgt, weiß ich leider nicht.

Grüße
Dalai
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
948 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 30. Okt 2021, 20:28
Komisches Verhalten dieser Software hier.

Total-Commander, Menü Dateiattributte ändern.
Geht auch in Bezug auf Datum/Uhrzeit inkl Unterverzeichnisse.

Oder mit Get/Set FileTime
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#4

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 30. Okt 2021, 22:41
...Total-Commander, Menü Dateiattributte ändern.
Geht auch in Bezug auf Datum/Uhrzeit inkl Unterverzeichnisse.
Oder mit Get/Set FileTime
Das Problem ist nur, daß ich u. U. Zehntausende Dateien mit individuell unterschiedlichen Speicherzeiten auf dem USB-Stick habe. Die Zeit müßte ich für jede Datei einzeln ändern, was wegen der Masse nicht praktikabel ist.

Das hat nichts damit zu tun, dass hier Sticks statt Festplatten benutzt werden sondern mit dem Dateisystem. NTFS speichert intern alles als UTC und zur Anzeige wird das in lokale Zeit umgerechnet. FAT-Dateisysteme (außer vielleicht exFAT) speichern immer lokale Zeit. Deswegen führen Zeitumstellungen sowie Umzüge in andere Zeitzonen zu solchen Problemen bei Verwendung von FAT-Dateisystemen.
Das war mir nicht bekannt: Danke für den Tipp! So werde ich beim neuen USB-Stick vorgehen.
Allerdings kann ich beim vorhandenen Stick, das bereits Dateien enthält, die FAT leider nicht auf NTFS ändern.

Danke Euch!
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#5

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 30. Okt 2021, 23:19
Beachte, dass Datenträger mit NTFS per "Hardware sicher entfernen" vom System abgemeldet werden sollten (meiner Meinung nach sogar müssen), weil NTFS ein Journal benutzt und somit immer Dateien offen hat, selbst wenn der Datenträger ohne Cache verwendet wird (Default bei USB-Sticks/-Wechselmedien).

In Bezug auf die Änderung des Zeitstempels von vorhandenen Dateien: Es gibt da so schicke Addons für Total Commander, mit denen eine relative Änderung der Zeitstempel möglich ist, namentlich AddTime[1][2] und ReDate[3]. Das sind übrigens alles Delphi-Programme .

[1] https://totalcmd.net/plugring/addtime_addon.html
[2] https://totalcmd.net/plugring/addtime_addon2.html
[3] https://totalcmd.net/plugring/redate_addon2.html

Theoretisch (und auch praktisch) kann man FAT(32)-Dateisysteme ohne Datenverlust in NTFS konvertieren, mit dem "convert"-Kommando auf einer (administrativen) CMD. Einen Nachteil hat das allerdings: die Clustergröße wird dabei auf 512 Bytes gesetzt statt auf die standardmäßigen 4KB. Das führt zu deutlich höherem Verwaltungsaufwand und langsameren Zugriffen. Bin mir nicht sicher, ob das heutzutage immer noch so ist, aber diese Erfahrungen hab ich vor vielen Jahren gemacht.

Grüße
Dalai
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 31. Okt 2021, 18:51
Vielen herzlichen Dank für Deine tollen Tipps & Erläuterungen!
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.508 Beiträge
 
Delphi 7 Professional
 
#7

AW: Zeitumstellung – Files auf USB-Stick kriegen sie nicht mit, externe Festplatten s

  Alt 31. Okt 2021, 19:16
Einen Nachteil hat das allerdings: die Clustergröße wird dabei auf 512 Bytes gesetzt statt auf die standardmäßigen 4KB.
Hiernach What does cluster size mean? scheint dem nicht zwingend so zu sein:
Zitat von What does cluster size mean?:
Imaging that if you use Convert.exe utility to convert a FAT to NTFS, Windows always uses the original FAT cluster size as the NTFS cluster size for cluster size up to 4KB. If the FAT cluster size is greater than 4KB, then, the clusters are converted down to 4KB in NTFS.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz