Frage Wie kann ich rsync mit einem FAT-Dateisystem verwenden?


Ich möchte ein einfaches Backup-Skript schreiben, das einige Daten auf einem FAT-Laufwerk speichert. Sollte ich das Laufwerk neu formatieren und ein besseres Dateisystem verwenden oder ist es möglich, rsync mit FAT zu verwenden? Wenn ja, auf welche Probleme könnte ich stoßen? Wäre die Leistung viel schlechter?

BEARBEITEN: Das ist auf Linux, wusste nicht einmal, dass es ein rsync für Windows gab. Die Quellen sind verschiedene Dateisysteme (es ist ein Chaos), und das Ziel ist derzeit mit FAT32 formatiert.

Vielen Dank für Ihre Antworten. Ich werde wahrscheinlich eine Neuformatierung durchführen, da ich mir über die Dateigrößen nicht sicher bin.


24
2017-08-17 11:43


Ursprung




Antworten:


Ich würde empfehlen, zu einem Linux-Dateisystem neu zu formatieren, wenn Sie können. Wie bereits erwähnt, hat FAT relativ niedrige Dateigrößenbeschränkungen und behandelt Berechtigungen und Eigentumsrechte möglicherweise nicht richtig. Noch wichtiger ist, dass FAT die Änderungszeiten von Dateien nicht genau so verfolgt, wie zB ext3 (FAT ist nur innerhalb eines 2-Sekunden-Fensters genau). Dies führt zu besonders unangenehmem Verhalten bei rsync, da manchmal entschieden wird, dass die Originaldateien so neu oder älter sind wie die Backup-Datei, dass die Daten erneut kopiert werden müssen oder zumindest die Hashes erneut überprüft werden müssen. Alles in allem ist die Performance bei Backups sehr schlecht. Wenn du Muss Bleiben Sie bei FAT, schauen Sie in die rsync-Flags --size-only und --modify-window als Workarounds.


9
2017-08-17 14:32





Ich verwende rsync, um meine Fotos zu sichern, die ich auf einem Laptop unter Linux (Ubuntu 10.4) speichere und verarbeite. Ich speichere sie auf einem sehr einfachen NAS mit einer 1TB Festplatte, die als FAT32 formatiert ist. Das NAS-Gehäuse und die Firmware sind sehr einfach, so dass das Laufwerk nicht neu formatiert werden kann.

Der Befehl, den ich verwende, ist:

$ rsync --progress --modify-window=1 --update --recursive --times \
  /home/mloskot/Pictures /mnt/nas/Pictures

Um einen korrekten Zeitvergleich zu ermöglichen, wird die Option --modify-window = 1 verwendet, da FAT32 Dateizeitstempel mit einer Auflösung von 2 Sekunden aufzeichnet, die sich von den auf Linux verwendeten Dateisystemen unterscheiden. Das --update, um unnötiges Kopieren vorhandener Dateien zu vermeiden - verhält sich wie inkrementelles Backup.

Um einen größenbasierten Vergleich durchzuführen, können Sie die Option --size-only angeben.


33
2018-05-22 22:15



Danke fürs Teilen, ich werde eure Flaggenkombination prüfen :-) Das rsync-Handbuch ist ein bisschen sperrig ... - DutchUncle
Das --modify-window = 1 macht einen großen Unterschied. Es löste das - ich bin jetzt in Millisekunden statt Minuten fertig. - Wolfgang Fahl
Aus irgendeinem Grund muss ich verwenden --modify-window=2. Beim Benutzen 1 Es kopiert immer noch alle Dateien. Kopieren von NTFS nach FAT32. - Luc
Gelegentlich sogar mit --modify-windowrsync würde darauf bestehen, alle meine Dateien zu kopieren. Ich benutze die --size-only Option jetzt und das funktioniert ok. Das war von Mac OS Extended (Groß- und Kleinschreibung, Journaled) zu FAT32. - diachedelic
Wahrscheinlich ist es eine gute Idee, '--ignore-errors --max-size = 4GB' hinzuzufügen, um einen Absturz bei Dateien zu vermeiden, die nicht in FAT32 passen würden. - Maksym


Ist das rsync auf Linux zu / von einer FAT (welche Version von FAT?) Diskette oder benutzt du die Windows Version cwRsync?

In beiden Fällen funktionieren FAT16 und 32 mit beiden Versionen (habe FAT12 nicht selbst ausprobiert). Wenn Sie auf einem Linux-System arbeiten, würde ich erwarten, dass die Leistung eines FAT-Dateisystems etwas schlechter ist als bei Verwendung eines Linux-Format-Dateisystems, da sie im Allgemeinen etwas langsamer sind (glücklich für jemanden, der mich richtig stellt) falsch).


2
2017-08-17 11:59





Ja umformatieren! Sie sollten immer ein besseres Dateisystem als FAT verwenden, wenn Sie aus Kompatibilitätsgründen nicht müssen!

Ich würde vorschlagen, dass Sie das Laufwerk mit dem gleichen Dateisystem formatieren, von dem Sie rsyncing sind, andernfalls verlieren Sie möglicherweise Berechtigungen und Attribute, die für Ihre Dateien und Verzeichnisse festgelegt sind.

FAT (vermutlich FAT32) könnte problematisch sein, wenn die maximale Dateigröße (4 GB), maximale Volume-Größe (2 TB - ein Tag sowieso!), Fragmentierung usw.

Wenn jedoch nichts davon von Bedeutung ist und Sie nur ein einfaches, schnelles und maximal kompatibles Dateisystem wünschen, ist FAT OK. Geschwindigkeit, wegen des Mangels an Journaling, Berechtigungen etc, könnte FAT möglicherweise die Alternativen ausführen - NTFS / Ext3 / HFS ...


1
2017-08-17 12:00





Gibt es einen Grund, warum Sie das FAT-Laufwerk verwenden? Rsync sollte arbeiten, um Daten zu speichern, aber Sie verlieren Meta-Informationen über Dateien ... Besitz, Berechtigungen, etc ... und Sie riskieren Probleme, wenn Sie jemals rsync große Dateien seit FAT hat eine Dateigröße von 2 Gig begrenzen.

Leistung, zu der ich nichts sagen kann, ich habe nie Benchmarks im Vergleich zu anderen gemacht. Ich denke, es hat auch viel mit den eigenen Spezifikationen des Laufwerks und dem Dateisystem zu tun.

Wenn du könnteIch würde das native Format, das Sie mit dem Computer verwenden möchten, neu formatieren (OS X? Linux?), Wenn nichts anderes übrig bleibt, als die Metadaten zu behalten und in ein paar Monaten die Stirn zu verlieren, wenn ich etwas synchronisiere dass aufgrund von Einschränkungen des Dateisystems Fehler auftreten. Der Austausch mit anderen Systemen kann oft durch gemeinsame Nutzung von Exporten erfolgen. Wenn Sie NTFS verwenden, können Sie zwar einige Metadaten beibehalten, aber immer noch systemübergreifend kompatibel sein, da Mac, NT und Linux jetzt alle NTFS-R / W-Fähigkeiten unterstützen.


1
2017-08-17 12:03