Wie verschieben Sie mehrere Terabytes von Dateien mit einer instabilen NFS-Verbindung?

875

Ich habe ein proprietäres, verteiltes Speichersystem geerbt, das seine Dateien über NFS verfügbar macht. Ich muss diese Dateien vom System entfernen. Das Problem ist, dass NFS-Links als veraltet gemeldet werden, bevor ich sogar einen bescheidenen Bruchteil der Dateien auflisten kann. Die aktuelle Lösung besteht darin, den NFS-Client jedes Mal neu zu starten, wenn ein Aufruf cp -aur *fehlschlägt. Dies wird jedoch sehr ineffizient, wenn die Anzahl der bereits kopierten Dateien steigt.

Irgendein Rat?

1

2 Antworten auf die Frage

5
djhowell

Verwenden Sie stattdessen rsync.

$ rsync -rav /path/to/nfsmount /path/to/local 

Sie können das 'v' entfernen, wenn Sie nicht darauf achten, dass es ausführlich ist, und listen Sie die Dateien auf. Wenn das nfs-Mount veraltet ist, bevor es fertig ist, führen Sie es einfach erneut aus, und rsync kopiert nur das, was es verpasst hat.

0
Michael Dillon

Wenn ich in der Vergangenheit mit einer solchen Situation konfrontiert wurde, habe ich die Dinge immer einzeln kopiert, sodass ich nicht jedes Mal am Anfang neu starten muss.

Alternativ würde ich zunächst ein Shell-Skript erstellen, das wiederholt "cp" aufruft, um jeweils eine Datei zu kopieren. Wenn dies fehlschlägt, bearbeite ich das Shellskript, um die Zeilen zu entfernen, die sich auf erfolgreich kopierte Dateien beziehen, und das Skript erneut zu starten.