Welche rsync-Äquivalentbefehle entsprechen mv /a/b /c/d?

Welche rsync-Äquivalentbefehle entsprechen mv /a/b /c/d?

Welche rsyncBefehle entsprechen mv/a/b/ /c/d/, um beispielsweise einen Verzeichnisbaum von einem Ort an einen anderen zu verschieben, möglicherweise auf ein anderes Dateisystem?

Das heißt, die Dateien werden nicht einfach kopiert, sondern vom ursprünglichen Speicherort gelöscht. Ich möchte rsynces verwenden, weil ich eine teilweise Verschiebung fortsetzen und die Bandbreitennutzung begrenzen möchte.

Antwort1

Dieser Befehl synchronisiert alle Dateien von /a/b nach /c/d und behält Berechtigungen, Änderungsdaten und symbolische Links bei und geht rekursiv in Verzeichnisse (das alles erledigt „-a“ oder „--archive“, es ist dasselbe wie die Verwendung von „-rlptgoD“, was für all das separate Optionen sind), –v steht für ausführlich und „--remove-source-files“ löscht Quelldateien, sobald sie am Ziel vollständig erstellt wurden.

Wenn das Verzeichnis d in /c/ nicht existiert, wird es erstellt.

rsync -av --remove-source-files /a/b /c/d

Wenn Sie auf einen Remote-Server verschieben möchten, wird dies mit dem Pfad des Remote-Servers synchronisiert; „-z“ komprimiert die Dateidaten während der Übertragung.

rsync -avz --remove-source-files /a/b user@hostname_or_ip:/c/d

Verzeichnisse werden nicht durch '--remove-source-files' entfernt, daher müssen Sie rm -rf /a/b nach rsync ausführen, um alle Verzeichnisse in /a/b/ zu entfernen.

In einem Einzeilenbefehl können Sie alles wie folgt eingeben

rsync -av --remove-source-files /a/b /c/d; if find /a/b/ -type f | read; then echo "Not all files were synced"; else rm -rf /a/b; fi

Dadurch wird rsync ausgeführt. Anschließend wird geprüft, ob noch Dateien übrig sind, um das Löschen des Ordners zu verhindern, wenn einige Dateien nicht vollständig synchronisiert und daher nicht gelöscht wurden. Anschließend wird entweder ausgegeben, dass nicht alle Dateien synchronisiert wurden, oder der Ordner wird gelöscht, wenn er keine Dateien enthält.

verwandte Informationen