Der Linux
rsync
Der Befehl ist ein leistungsstarkes Tool zum Kopieren und Synchronisation von Ordner. Hier sind zehn übliche Anwendungsfälle, die Sie in Ihren eigenen Systemen gut nutzen können.
Das RSYNC -Werkzeug
Der
rsync
Tool kopiert Dateien und Verzeichnisse zwischen zwei Computern. Es verwendet a
anspruchsvoller Algorithmus
Diese scannt Verzeichnisbäume, um Dateien auf dem Quellcomputer zu finden, die nicht auf dem Zielcomputer vorhanden sind. Diese Dateien werden an den Zielcomputer übertragen. Was macht
Rync
So klug ist es, welche Teile von Teilen von
bestehende
Dateien wurden geändert und sendet nur die
Teile geändert
.
Sie können verwenden
rsync
So kopieren Sie Dateien an einen anderen Speicherort auf Ihrer Festplatte, zu einer anderen Festplatte im selben Computer, zu einem
extern verbundenes USB -Laufwerk
, oder ein anderer Netzwerk-zugänglicher Ort.
Darüber hinaus,
rsync
Kann optional symbolische Links, harte Links und Datei erhalten
Metadaten
z. B. Eigentümer, Berechtigungen und Zugriffszeiten. All diese Funktionen zu unterstützen,
rsync
hat viele Optionen und das Finden aller Zeiten braucht Zeit. Wir haben diese 10 Beispiele gesammelt, mit denen Sie loslegen können. Wir haben bereits über Backups geschrieben mit
rsync
Wir konzentrieren uns also auf andere Verwendungszwecke.
Für all seine vielen Optionen die Struktur eines
rsync
Befehl ist einfach. Wir müssen die Quelle, das Ziel und die Optionen zur Verfügung stellen, die wir verwenden möchten. Das werden Sie wahrscheinlich finden
rsync
ist bereits auf Ihrem Linux -Computer installiert - es war auf allen unseren Testmaschinen -, aber wenn es sich nicht um die Repositorys Ihrer Verteilung befindet.
1. Kopieren Sie Dateien in ein anderes Verzeichnis
Hier ist ein einfaches Beispiel, um uns zum Laufen zu bringen. Wir kopieren die Dateien aus dem Verzeichnis "Project-Files" in das Verzeichnis "Dokumente". Wir verwenden zwei Optionen, die
-A
(Archiv) Option und die
-V
(ausführliche) Option. Die ausführliche Option erzählt
rsync
um zu erklären, was es tut, wie es es tut. Der
Archiv
Die Option bewahrt das Eigentümer der Datei und einige andere Elemente, die wir uns in Kürze ansehen.
Verwendung
ls
Auf den Ordner „Dokumente“ wird angezeigt, dass die Dateien kopiert wurden.
Während
rsync
Funktioniert, die Dateien werden so aufgeführt, wie sie kopiert werden. Wurde gesagt:
- Die Anzahl der gesendeten Bytes.
-
Die Anzahl der erhaltenen Bytes. Bevor die Dateiübertragung stattfindet,
rsyncmuss herausfinden, welche Dateien übertragen werden müssen. Dazu müssen einige Informationen über die Dateien am Ziel von abgerufen werdenrsync. Diese Informationen sind in den empfangenen Bytes enthalten. - Die Geschwindigkeit der Übertragung.
- Die Gesamtgröße der kopierten Dateien.
- Das "Geschwindigkeit". Dies ist das Verhältnis der Gesamtgröße geteilt durch die Summe der gesendeten und empfangenen Bytes. Je höher diese Zahl, desto effizienter ist die Übertragung.
Wir haben die Textdatei im Quellverzeichnis geändert und die wiederholt
rsync
Befehl.
Diesmal ist die einzige Datei, die aktualisiert werden muss, die von uns geänderte Textdatei. Die Geschwindigkeitszahl ist jetzt 30.850. So viel effizienter ist es, den geänderten Teil dieser einzelnen Datei zu kopieren, als alle Dateien zu kopieren.
Der
-A
(Archiv) Option repräsentiert tatsächlich eine Sammlung anderer Optionen. Es ist dasselbe wie die Verwendung all dieser Optionen:
- R : Arbeiten Sie rekursiv durch Verzeichnisbäume im Quellverzeichnis und kopieren Sie sie in das Zielverzeichnis. Erstellen Sie sie, wenn sie dort noch nicht existieren.
- l : Kopieren Sie Symlinks als Symlinks.
- P : Dateiberechtigungen erhalten.
- T : Dateiänderungszeiten erhalten.
- G : Gruppenberechtigungen erhalten.
- Ö : Bewahren Sie den Aktenbesitz auf.
- D : Kopieren Sie spezielle Dateien und Gerätedateien. Spezielle Dateien können Kommunikationsorientierungen sein, die wie Dateien behandelt werden, wie z. Steckdosen und erste In-In-erste Rohre (FIFOS). Gerätedateien sind spezielle Dateien, die Zugriff auf Geräte und Pseudo-Geräte bieten.
Dies ist eine so häufig verwendete Kombination, die
rsync
Bietet die
-A
(Archiv) Option als eine Kurzmethode, um sie alle aufzurufen.
2. Kopieren Sie ein Verzeichnis in ein anderes Verzeichnis
Wenn Sie sich das vorher ansehen
rsync
Befehl Sie sehen einen nachfolgenden Vorwärtsschild "/" auf dem Dateipfad des Quellverzeichnisses. Dies ist signifikant. Es sagt
rsync
um die zu kopieren
Inhalt
des Verzeichnisses. Wenn Sie nicht den nach vorne vorwärts gelegenen Schrägstrich anbieten,
rsync
wird das Verzeichnis kopieren
Und
sein Inhalt.
Diesmal wird der Verzeichnisname dem Dateinamen hinzugefügt, sobald sie aufgeführt sind. Wenn wir in das Zielverzeichnis schauen, wird sehen, dass der Quellordner mit den darin enthaltenen Dateien kopiert wurde.
3. Kopieren Sie ein Verzeichnis in ein anderes Laufwerk
Das Kopieren von Dateien an einen anderen Ort auf derselben Festplatte bietet Ihnen keinen Schutz vor a Antriebsausfall . Wenn dieses Laufwerk den Geist aufgibt, haben Sie die Quell- und Zielkopien dieser Dateien verloren. Das Kopieren auf eine andere Festplatte ist eine viel robustere Möglichkeit, Ihre Daten zu schützen. Alles, was wir tun müssen, ist den richtigen Weg zum Zielantrieb zu bieten.
Wenn wir uns die andere Festplatte ansehen, zeigt wir das Verzeichnis und die Dateien wurden darauf kopiert.
4. Zuerst einen trockenen Lauf machen
Bevor wir uns ansehen, wie
rsync
Kann Dateien für uns nützlich löschen, schauen wir uns an, wie wir machen können
rsync
einen trockenen Lauf durchführen.
In einem trockenen Lauf,
rsync
Geht die Bewegungen der Ausführung der Aktionen, die wir gefragt haben, aber sie erledigt sie nicht. Es berichtet, was passiert wäre, wenn der Befehl ausgeführt worden wäre. Auf diese Weise können wir sicherstellen, dass der Befehl genau das tut, was wir erwarten.
Um einen trockenen Lauf zu erzwingen, verwenden wir die
--Probelauf
Möglichkeit.
Die Dateien, die kopiert worden wären, sind für uns aufgeführt, und wir erhalten die üblichen Statistiken, gefolgt von der Nachricht
(PROBELAUF)
Damit wir wissen, dass nichts tatsächlich stattgefunden hat.
5. Löschen von Dateien im Zielverzeichnis
Der
--löschen
Option erzählt
rsync
löschen
Dateien und Verzeichnisse
im
Ziel
Verzeichnis, das nicht im Quellverzeichnis liegt. Dies bedeutet, dass das Zielverzeichnis eine genaue Kopie des Quellverzeichnisses sein wird. Wir werden umsichtig sein und die verwenden
--Probelauf
Option zuerst.
Wir werden darüber informiert, dass zwei Dateien gelöscht werden. Wenn wir sicher sind, dass es uns egal ist, dass sie gelöscht werden, können wir die entfernen
--Probelauf
Option und führen Sie den Befehl für Real aus.
Diesmal werden der Inhalt der Verzeichnisse synchronisiert und die beiden zusätzlichen Dateien gelöscht.
6. Löschen der Quelldateien
Sie können die Quelldateien nach a löschen
Erfolgreiche Übertragung
, machen
rsync
Arbeiten eher wie eine Bewegung als eine Kopie. Wenn die Übertragung nicht erfolgreich war, werden die Quelldateien nicht gelöscht. Die Option, die wir verwenden müssen, ist
-Remove-Source-Files
.
Beachten Sie, dass die Dateien auch dann gelöscht werden können, wenn keine Dateien übertragen werden. Das liegt daran, dass wenn
rsync
Überprüfungen und alle Dateien befinden sich bereits im Zielverzeichnis und es gibt nichts für
rsync
machen,
rsync
betrachtet das eine erfolgreiche Übertragung.
Auch,
rsync
löscht nur die
Dateien
Aus dem Quellverzeichnis. Es löscht weder das Quellverzeichnis noch Unter-Verzeichnisse, sondern nur die Dateien. Wir können dies sehen, indem wir die verwenden
-R
(rekursiv) Option mit
ls
im Quellverzeichnis.
7. Kopieren Sie Dateien auf einen Remote -Computer
Ordner mit einem Remote -Computer synchronisieren,
rsync
muss auf beiden Computern installiert werden. Richten Sie die SSH -Kommunikation zwischen den beiden Computern ein, bevor Sie versuchen zu verwenden
rsync
zum Remote -Computer.
Sie müssen in der Lage sein, sich als regulärer Benutzer auf dem Remote -Computer aus der Ferne anzumelden
rsync
arbeiten. Es spielt keine Rolle, ob Sie eine ID und ein Passwort zum Anmelden verwenden oder ob Sie SSH -Tasten für sichern eingerichtet haben
Passwortlos
Zugriff, aber wenn Sie sich als Benutzer nicht anmelden können, dann
rsync
Ich werde auch nicht funktionieren.
Wenn Sie sich mit einem Passwort anmelden,
rsync
Erfordern Sie das Passwort. Wenn Sie SSH -Tasten verwenden, um sich zu protokollieren, ist der Prozess nahtlos.
Das einzige zusätzliche, was Sie tun müssen, ist, den Benutzerkonto -Namen und die IP -Adresse des Remote -Computers zum Beginn des Zieldateipfads hinzuzufügen. Verwenden Sie ein AT -Zeichen “
@
"Um den Benutzernamen vom Computernamen oder der IP -Adresse und eines Dickdarms zu trennen"
:
”Um den Computernamen zu trennen oder
IP Adresse
vom Verzeichnisweg.
Wir erhalten die gleichen Informationen, die uns gemeldet haben wie wir, wenn wir Dateien lokal kopieren.
8. Dateien oder Verzeichnisse einschließen oder ausschließen
Möglicherweise verfügen Sie über Dateien und Verzeichnisse im Quellverzeichnis, die Sie nicht auf den Zielcomputer kopieren möchten. Du kannst
sie ausschließen
Verwendung der
--ausschließen
Möglichkeit. In ähnlicher Weise können Sie sich für bestimmte Dateien und Verzeichnisse mit dem entscheiden
--enthalten
Möglichkeit.
Die Eigenart ist das, wenn Sie die verwenden
--enthalten
Option für sich genommen werden alle Dateien wie gewohnt kopiert - einschließlich Ihrer spezifisch enthaltenen Dateien. Um nur Ihre enthaltenen Dateien zu kopieren, die Sie müssen
--ausschließen
alles andere.
Sie können so viele verwenden
--enthalten
Und
--ausschließen
Optionen in Ihrem Befehl, wie Sie möchten, aber stellen Sie sicher, dass Sie Ihre setzen
--enthalten
Optionen vor Ihrem
--ausschließen
Optionen. Stellen Sie außerdem sicher, dass Sie einen nachfolgenden Vorwärtsschräger auf Ihrem Quelldateipfad haben.
Dieser Befehl kopiert nur C -Quellcode -Dateien und CSV -Datendateien zum Zielcomputer.
Die einzigen kopierten Dateien sind diejenigen, die wir speziell aufgenommen haben.
9. Komprimierende Dateien in der Übertragung Komprimieren
Der
-Z
(Compress) Option Ursachen
rsync
So komprimieren Sie die übertragenen Dateien. Sie werden jedoch nicht als komprimierte Dateien auf dem Zielcomputer gespeichert, sie werden nur während der Übertragung selbst komprimiert. Dies kann langwierige Übertragungen beschleunigen.
10. Überwachung des Fortschritts
Apropos langwierige Übertragungen, wir können einige Statistiken hinzufügen, damit wir den Fortschritt der Übertragung sehen können.
Der
-P
(teilweise, Fortschritt) Die Option fügt tatsächlich zwei Optionen hinzu.
--teilweise
Und
--Fortschritt
. Der
--teilweise
Option erzählt
rsync
Um teilweise übertragene Dateien zu halten, wenn eine Übertragung fehlschlägt. Dies spart Zeit, wenn die Übertragung neu gestartet wird.
Der
--Fortschritt
Die Option druckt für jede Datei die in Bytes übertragenen Daten und prozentual die Geschwindigkeit der Übertragung, die Zeit, die Anzahl der übertragenen Datei und die Anzahl der verbleibenden Dateien.
Die Ausgabe rechnet ziemlich schnell vorbei und es ist schwer zu lesen. Sie können die Dinge leicht verbessern, indem Sie das entfernen
-V
(ausführliche) Option aus dem Befehl. Selbst dann ist es immer noch schwierig zu lesen, wie es vorbeifährt.
Es ist oft nützlicher, den Fortschritt der Gesamtübertragung zu überwachen. Sie können dies mit der Option –info tun und sie als Parameter „progresh2“ übergeben.
Wie CP auf Steroiden
Der
rsync
Der Befehl ist schnell, flexibel und die Zeit wert, die es braucht, um sich damit vertraut zu machen. Die Grundform eines
rsync
Befehl mit dem
-ein V
Optionen, das Quellverzeichnis und das Zielverzeichnis sind überhaupt nicht schwer zu erinnern.
Für viele Anwendungsfälle ist das alles, was Sie brauchen. Machen Sie sich damit wohl und der Rest wird leicht kommen.
- › Wie billig VPNs kosten können, als Sie verabschiedet haben
- › Wyze ist unten, es sind nicht nur du
- › Vergessen Sie Gaming -Desktops: Gaming -Laptops sind fast genauso schnell
- › Ihr nächstes Smart -Home -Gerät hat möglicherweise 5G
- › Beenden Sie die Tastatur und Maus, die mit Ihrem PC geliefert wurden
- › Bose QuietComfort Ohrhörer 2 Bewertung: Ein Schritt nach vorne für das Audio von Lärmstündungen