Ich versuche, eine defekte Festplatte zu sichern, und rsync wäre aufgrund seiner Funktionen wie Fortschrittsanzeige und der Möglichkeit zum Anhalten und Fortsetzen ideal. Das einzige Problem, das ich habe, ist, dass das Änderungsdatum der Datei zwar erhalten bleibt, die Verzeichnisse jedoch ein neues Datumsattribut erhalten. Dies verursacht Probleme, da ich viele Dateien nach Datum sortiere, damit ich weiß, was zuletzt hinzugefügt wurde. Ist es möglich, das Änderungsdatum des Verzeichnisses mit rsync beizubehalten:
sudo rsync -avhX --progress --info=progress2 /mnt/failing/ /mnt/new/
Die Option -t (in -a enthalten) behält die Dateiattribute bei, erwähnt aber keine Verzeichnisse. Gibt es besondere Anforderungen an den Besitz/die Berechtigungen der Partition /mnt/new, um bestimmte Attribute erfolgreich beizubehalten?
Antwort1
Die letzte Änderungszeit von Verzeichnissen wird von gespeichert -a
, Sie können dies jedoch nur sehen, wenn rsync beendet ist. Es versucht nicht, die Zeit für Verzeichnisse einzustellen, die ständig mit neuen Dateien aktualisiert werden.
Sie können dies selbst testen. Erstellen Sie ein Verzeichnis, setzen Sie das Datum darin auf gestern und kopieren Sie es anschließend mit rsync:
$ mkdir d1 d2
$ ls -ld d1
drwxr-xr-x 2 40 Nov 4 14:41 d1
$ touch -d 'yesterday' d1
$ ls -ld d1
drwxr-xr-x 2 40 Nov 3 14:41 d1
$ rsync -i -avR d1 d2
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 3 14:41 d2/d1/
Das Verzeichnis d2/d1 hat das Datum von gestern. Wir können es überschreiben und sehen, ob rsync das Problem behebt:
$ touch d2/d1
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 4 14:42 d2/d1/
$ rsync -i -avR d1 d2
.d..t...... d1/
$ ls -ld d1 d2/d1/
drwxr-xr-x 2 40 Nov 3 14:41 d1
drwxr-xr-x 2 40 Nov 3 14:41 d2/d1/
rsync -i
zeigt, dass der Zeitstempel bei d2/d1 falsch ist und behebt ihn.
Antwort2
Ich habe schließlich einen Artikel zu diesem Problem geschrieben, falls er jemandem nützlich sein sollte. Wie im Beitrag erklärt, können mit Rsync praktisch alle Metadaten gespeichert werden.
Ersetzen Sie Speicherlaufwerke durch Rsync in Arch Linux
Hier ist ein Snippet, um alles zu synchronisieren:
sudo rsync -avihXP --info=progress2 --stats --dry-run /mnt/disk?/ /mnt/temp/
Antwort3
rsync -avz
macht alles für mich
- v
ist für ausführlich
- a
ist für den Archivmodus (ähnlich wie -rlptgoD)
- z
ist für die Verwendung von Komprimierung