Manchmal soll es ja vorkommen, dass man mehrere Dateien, Verzeichnisse und auch Symlinks von einem Rechner zum Anderen kopieren muss. Ein Dateisystembackup ist ein Beispiel dafür. Unter Linux/*nix klappt das ganz gut mit tar und ssh …

Um Beispielsweise den kompletten Inhalt eines Verzeichnisses inklusive dem jeweiligen Eigentümer und Gruppe in ein anderes Verzeichnis auf einen entfernten Host zu kopieren, reicht folgender Befehl wenn man sich in dem gewünschten Verzeichnis befindet:

tar --numeric-owner -cpvzf - ./* | ssh ZIELHOST.TLD tar --numeric-owner -xpzf - -C /ZIELVERZEICHNIS

Wenn wir das Ganze mal auseinander nehmen bedeutet das:

  • tar –numeric-owner -cpvzf – ./*
    Erzeuge eine Archiv-Datei und speichere die Eigentümer/Gruppen mit deren Nummer und gib es auf dem Standard-Ausgabekanal aus. Verwende alle Dateien und Verzeichnisse aus dem aktuellen Verzeichnis.
  • | (pipe)
    Leite die Standard-Ausgabe um auf …
  • ssh ZIELHOST.TLD
    … eine Verbindung mit dem Zielhost und …
  • tar --numeric-owner -xpzf - -C /ZIELVERZEICHNIS
    … entpacke dort wieder alle Dateien. Wechsel aber vorher in /ZIELVERZEICHNIS
Share