Wie kann ich ein Linux-Verzeichnis spiegeln und alle Metadaten sichern?

Wie kann ich ein Linux-Verzeichnis spiegeln und alle Metadaten sichern?

Ich muss meinen Home-Ordner (und einige andere Ordner) auf einem Linux-NFS-System einer Organisation, auf dem mein Konto bald abläuft, auf einer privaten Festplatte (die kein Linux-Dateisystem verwendet) sichern. Ich greife über SSH und SFTP auf das Konto zu. Ich möchte alle Metadaten für diese Dateien und Verzeichnisse und alles darin sichern, einschließlich Daten, Eigentümer, Gruppen, UID/GID-Nummern, CHMOD-Berechtigungen usw. Wie kann ich dabei vorgehen? Muss ich den Befehl LS rekursiv auf dem Verzeichnis mit bestimmten Einstellungen für die anzuzeigenden Informationen ausführen und die Ergebnisse in eine Datei umleiten, damit die Informationen unabhängig vom Dateisystem, in das ich sie verschiebe, in einer Datei enthalten sind? Oder gibt es eine Möglichkeit, alle Metadaten mit etwas wie TAR/GZ zu speichern? Wenn dies mit TAR/GZ geschieht, wie kann ich diese Metadaten dann auf anderen Dateisystemen anzeigen, in die ich das Archiv verschiebe, und bleiben die gespeicherten Benutzer/Gruppen erhalten, solange sie nicht extrahiert werden?

Wissen Sie außerdem, wie das auch für SELinux-Metadaten und AFS-Metadaten (Andrew File System) geht? (Später geht es um ein anderes Dateisystem, aber wenn Sie die Antwort auf eine dieser Fragen nicht wissen, beantworten Sie bitte trotzdem die obige Frage.)

Antwort1

benutze tar(1)

Ja, das Tar-Archivierungsprogramm ist eine gute Möglichkeit, einen Prüfpunkt für ein Linux-Verzeichnis festzulegen.

Ein Vorteil dieser Vorgehensweise besteht darin, dass es dann egal ist, welches Zwischendateisystem verwendet wird. Sie können die .tgz-Datei beispielsweise auf einem FAT32-Flash-Laufwerk oder einem anderen Speichermedium ablegen, und solange die Extraktion schließlich auf einem anderen Unix-ähnlichen System erfolgt, bleiben alle Metadaten erhalten.

$ tar cvfz /somewhere/else/backup.tgz . # save current directory and everything underneath
...
# later, on a Unix box...
$ mkdir my_old_dir; cd my_old_dir
$ tar xvfz /whatever/backup.tgz

verwandte Informationen