7.5. Wie kann ich einen kompletten Verzeichnisbaum auf eine andere Partition kopieren?
7.5.1
Das Umkopieren von kompletten Verzeichnissen (z. B. /home oder /var)
ist etwas, zu dem diverse Möglichkeiten im Umlauf sind. Allerdings sind
viele dieser Varianten nur eingeschränkt geeignet.
Hier die einzig zuverlässige Methode, um einen kompletten
Verzeichnisbaum umzukopieren:
cd /OLD && tar -cp --atime-preserve -f - .
| ( cd /NEW && tar -xpv --atime-preserve -f - )
In diesem Beispiel wird das Verzeichnis /OLD nach
/NEW umkopiert.
Wichtig ist u. a. die Option --atime-preserve - wer schonmal
einen (leafnode) Newsspool ohne diese Option umkopiert hat, weiß warum.
Diese Option ist GNU tar spezifisch, andere Implementationen bieten evtl.
eine analoge Option mit anderem Namen. Der Rest der Optionen ist portabel
und sollte mit jedem tar funktionieren.
Das Ganze lässt sich übrigens auch fürs Kopieren auf einen anderen
Rechner verwenden. Das folgende Beispiel kopiert das lokale Verzeichnis
/OLD auf den Rechner mit der IP 192.168.0.1 ins Verzeichnis
/NEW.
cd /OLD && tar -cp --atime-preserve -f - .
| ssh 192.168.0.1 "( mkdir -p /NEW ; cd /NEW
&& tar -xpv --atime-preserve -f - )"
Ausführlichere Informationen zum Umkopieren, auch des kompletten
Systems, finden sich in der SUSE Supportdatenbank:
Die in den oben genannten Befehlen verwendeten Optionen weichen etwas
von den in der SDB genannten ab. Gründe hierfür:
-
--numeric-owner ist beim lokalen Kopieren überflüssig und
kann bei Kopieren über SSH u. U. sogar unerwünscht sein, falls die
User-IDs abweichen
-
-S (--sparse) hat in Einzelfällen (laut David Haller) schon
zu kaputten Dateien geführt.
(cboltz)
|