Warum nicht immer rsync benutzen?


17

Ich wollte fragen, gibt es einen Grund, nicht rsyncfür alles zu verwenden und aufzugeben cp?
Ich wusste rsynces nicht und weiß jetzt nicht, warum cpes jemals gebraucht wird.


9
rsyncist nicht überall verfügbar cp.
Mat

3
Welche Installation? Linux? Welcher? Unix? dito. BSD? Sie wissen nie, was standardmäßig kommt.
Terdon

5
Es gibt wirklich keine "Standardinstallation" für Linux. Jede Distribution hat ihre Kernpakete und eine Vielzahl von Variationen davon. Auch wenn Sie an vielen Systemen arbeiten müssen, vereinfacht der Einsatz der überall verfügbaren Tools die Arbeit.
Mat

4
@Mat: Es gibt eine Standardinstallation (oder eine Kerninstallation), sofern Linux-Distributionen über das GNU-Basisbenutzerland mit POSIX kompatibel sind, das Folgendes erfordert (und dessen Funktionsweise definiert), cpjedoch nicht rsync: pubs.opengroup.org/onlinepubs/007904875 /utilities/contents.htm
Goldlöckchen

1
Ich bin mir ziemlich sicher, dass Debian GNU / Linux standardmäßig rsync installiert. Es ist jedoch in der Installations- und Rettungsumgebung nicht verfügbar. (Das habe ich heute früh genutzt, um den Inhalt meiner Root-Partition von einer Festplatte auf eine andere zu übertragen. Benutzte die 7.1.0 amd64-Installations-DVD.)
ein CVn

Antworten:


24

Genau genommen kann man ja immer benutzen rsync. Von man rsync(Hervorhebung von mir):

Rsync ist ein schnelles und außerordentlich vielseitiges Tool zum Kopieren von Dateien. Es kann lokal, von / zu einem anderen Host über eine beliebige Remote-Shell oder von / zu einem Remote-Rsync-Daemon kopiert werden. Es bietet eine Vielzahl von Optionen, die jeden Aspekt seines Verhaltens steuern und eine sehr flexible Angabe der zu
kopierenden Dateigruppe ermöglichen. Es ist berühmt für seinen Delta-Transfer-Algorithmus, der die über das Netzwerk gesendete Datenmenge reduziert, indem nur die Unterschiede zwischen den Quelldateien und den vorhandenen Dateien im Ziel gesendet werden. Rsync wird häufig für Backups und Spiegelungen sowie als verbesserter Kopierbefehl für den täglichen Gebrauch verwendet.

Manchmal lohnt es sich einfach nicht, diese wenigen zusätzlichen Zeichen einzugeben, um mit einem Panzer eine Fliege zu töten. Wird auch rsyncoft nicht standardmäßig installiert, cpist also schön zu haben.


Du meinst nicht als Teil der Standardinstallation sondern als separater Download verfügbar?
Jim

1
@Jim Ja, manchmal müssen rsyncSie sich selbst installieren, je nachdem, auf welchem System Sie sich befinden. Wenn Sie keinen rootZugang haben, kann das schwierig sein. cpist POSIX und wird immer da sein.
Terdon

9
cpist Teil der GNU-Coreutils und wird daher immer auf jedem Linux-System installiert, wenn dies rsyncnicht der Fall ist.
Martin von Wittich

1
sometimes it is just not worth typing those few extra characters- Ich habe Alias pcp(für "Fortschrittskopie") dafür;)
Izkata

19

Rsync kann langsamer als cpin einigen Situationen sein. Wenn beispielsweise das Ziel vorhanden ist und rsync teure Vergleiche für jeden Block durchführt, keine identischen Blöcke findet und trotzdem die gesamte Quelldatei kopiert.

Auch wenn Zieldateien nicht vorhanden sind, bietet rsync keinen Vorteil gegenüber cp.


1
Darunter ist die Kopiermethode von rsync erheblich langsamer. Siehe unix.stackexchange.com/questions/374071/… . Eine Folge von cp zeigt (zum Zeitpunkt dieses Schreibens) eine einfache 32-KB-Lese- / 32-KB-Schreibsequenz von Operationen. Rsync führt währenddessen einen Lese- / 4092-Byte- + 4-Byte-Schreibvorgang in den Socket aus bzw. liest einen Lese- / 250-KB-Schreibvorgang in die Datei. Ich synchronisiere 36T Dateien mit gemischter Größe mit einem Durchsatz von 130 MB / s. Ich kann das mit cp -a verdreifachen. rsync gewinnt, wie Sie sagen, wenn Sie möchten, dass dies in Verzeichnissen, die bereits ähnlich sind, so aussieht.
Mike S


4

Da dieses cpFlag in rsync fehlt:

-i, --interactive
       prompt before overwrite (overrides a previous -n option)

Nein, obwohl es -nauf rsync (Probelauf) gibt, was eine Art Ersatz für diese Funktion sein kann.
Niloct
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.