RSYNC Commad unter Linux mit 12 praktischen Beispielen

RSYNC Commad unter Linux mit 12 praktischen Beispielen

RSYNC (Remote -Synchronisation) ist ein Befehlszeilen-Tool zum Synchronisieren von Dateien zwischen zwei UNIX-basierten Systemen. RSYNC kann auch im selben System verwendet werden, um Dateien zwischen zwei Verzeichnissen zu synchronisieren. RSYNC verwendet einen Delta-Transfer-Algorithmus, um nur die Unterschiede zwischen Quelldateien und vorhandenen Dateien an das Ziel zu senden. RSYNC verwendet weniger Daten im Netzwerk, um die Bandbreite zu erhalten.

RSYNC wird in der Regel zum Sichern großer Datenmengen oder zur Übertragung von Daten zwischen zwei Computern verwendet. RSYNC unterstützt die Synchronisierung lokaler bis lokaler, lokaler bis remote und remote-zu-lokaler Dateien. Die Synchronisierung von Dateien mit Remote-zu-Remote wird jedoch nicht unterstützt.

In diesem Beitrag werden wir uns einige gemeinsame Verwendungen für das RSYNC-Befehlszeilen-Tool ansehen.

Syntax

RSYNC [Option…] Quelle… [Ziel] 
  • Hier QUELLE Kann ein lokales Verzeichnis wie "/opt/backup" oder ein Remote -Standort wie "E -Mail geschützt] sein:/opt/remotedir/"
  • Auch der ZIEL kann als lokales Verzeichnis oder Remote -Systemverzeichnis bezeichnet werden
  • Sowohl Quelle als auch Ziel können sich auf ein lokales Verzeichnis beziehen.
  • Nur eine Quelle oder ein Ziel kann die Fernbedienung sein. Sie können beide nicht als Remote -Standorte verwenden.

Befehlsoptionen rsync

RSYNC bietet eine große Anzahl nützlicher Optionen, die jeden Aspekt seines Verhaltens steuern und es flexibler für die Synchronisierungsdateien machen. Unten finden Sie die Liste einiger häufig verwendeter Befehlsoptionen der RSYNC:

  • -v, -vv -vvv, --verbose - Diese Option wird für ausführliche Protokolle für die Standardausgabe verwendet. Die Standard -RSYNC läuft lautlos. Je höher die Anzahl der „V“ ist, erhöht das Protokollierungsniveau.
  • -a, -archiv - Ist die am häufigsten verwendete Option mit dem Befehl rsync. Der Archivmodus entspricht den Optionen -rlptgod . Grundsätzlich enthält es alle notwendigen Optionen wie rekursiv, aufrechte Dateiberechtigungen, symbolische Links, Dateibesitz und Zeitstempel.
  • -Z, -komprimieren - Verwenden Sie diese Option, um Daten im komprimierten Format zu übertragen. Das ist nützlich, um Bandbreite zu sparen.
  • -H, -menschlich - Verwenden Sie diese Option, um alle Ausgänge in einem menschlich lesbaren Format zu drucken.
  • --löschen - Verwenden Sie diese Option nur, wenn Sie Dateien am Ziel entfernen müssen, die in der Quelle nicht vorhanden sind.
  • --ausschließen = Muster - Schließen Sie Dateien aus RSYNC aus, die dem angegebenen Muster entsprechen.
    rsync -exclude '*.JPG 'src/ dest/ 
  • --einschließen = Muster - Fügen Sie Dateien in RSYNC ein, die dem angegebenen Muster entsprechen.
    rsync -include '*.JPG ' -include'*.txt ' -exclude'*'src/ dest/ 

RSYNC -Beispiele

Hier sind 12 praktische Beispiele für den Befehl rsync in Unix/Linux -Systemen.

  1. Kopieren/Synchronisierungsdateien und Verzeichnisse lokal bis lokal
  2. RSYNC ermöglicht die Synchronisierung von Dateien zwischen Verzeichnissen auf dem lokalen System. Zum Beispiel habe ich ein paar Sicherungsdateien auf meinem lokalen Computer unter dem /mnt/backup Verzeichnis. Ich möchte alle Dateien in das USB -Laufwerk kopieren/synchronisieren /mnt/disk1. Verwenden Sie den folgenden Befehl, um alle Dateien und Verzeichnisse aus zu synchronisieren /opt/backup to /mnt /disk1.

    rsync -avhz/opt/backup/mnt/disk1/  Senden inkrementaler Dateiliste Sicherung/ Sicherung/ Tecadmin.22Mar2022.SQL Backup/Tecadmin.22Mar2022.Teer.GZ Backup/Tecadmin.23Mar2022.SQL Backup/Tecadmin.23Mar2022.Teer.GZ schickte 1.09G Bytes erhalten 96 Bytes 23.39 m Bytes/Sekunden Gesamtgröße beträgt 1.47G beschleunigt ist 1.35 
    Kopieren/Synchronisierungsdateien und Verzeichnisse zwischen zwei lokalen Verzeichnissen

  3. Kopieren/Synchronisierungsdateien und Verzeichnisse lokal zu Remote
  4. Mit RSYNC können wir Dateien schnell von lokalen zu Remote -Systemen kopieren/synchronisieren. Zum Beispiel muss ich eine Website auf einen neuen Server übertragen. Dieser Inhalt der Website erforderte eine Kopie der Remote -Systeme. Verwenden Sie den folgenden Befehl, um alle Dateien aus dem Lokal zu kopieren /var/www/html Verzeichnis der Fernbedienung (192.168.1.100) Systeme/var/www/HTML -Verzeichnis.

    rsync -avhz/var/www/html [E -Mail -Schutz]:/var/www/html/  

    Der obige Befehl ist hilfreich für einen Systemadministrator, der regelmäßig Dateien zwischen zwei Systemen kopiert.

  5. Kopieren/Synchronisierungsdateien und Verzeichnisse Remote-zu-lokal
  6. Der Befehl rsync ermöglicht auch die Quelle als Remote -Verzeichnis, aber dann muss das Ziel lokal sein. Verwenden Sie das Quellverzeichnis vom Remote -Host und das Ziel muss das lokale Verzeichnis sein. Zum Beispiel muss ich alle unter gespeicherten Sicherungsdateien kopieren /Backups Verzeichnis auf Remote zum lokalen /opt /backups Verzeichnis.

    RSYNC -AVHz [E -Mail geschützt]:/backups/opt/backups  

  7. Verwenden von RSYNC über SSH
  8. Der RSYNC verbindet sich mit dem RSYNC -Daemon direkt über TCP zu Remote -Systemen. Wir können RSYNC anweisen, Secure Shell (SSH) zum Verbinden von Remote -Systemen zu verwenden, anstatt eine TCP -Verbindung zu erstellen.

    Verwenden -e Option zum Angeben der Remote -Shell. Der folgende Befehl verwendet SSH als Remote -Shell:

    RSYNC -AVHZ -E SSH/SRC [E -Mail geschützt]:/dest/  

    Wenn der SSH-Server am Ziel auf nicht standardmäßigem Port ausgeführt wird.

  9. Ignorieren Sie Dateien und Verzeichnisse bereits am Ziel
  10. Verwenden Sie den Befehl rsync mit --ignorieren Option zum Ignorieren aller Dateien, die bereits am Ziel vorhanden sind. Sie möchten beispielsweise ein Sicherungsskript planen, um alle Dateien täglich auf die Sicherungsdisk zu kopieren. In diesem Fall möchten Sie nicht immer wieder alle Dateien kopieren. Diese Option kopiert diese Dateien, die am Ziel nicht verfügbar sind.

    RSYNC -AVHZ -IGNORE -FEHLUNG /OPT /BACKUPS /MNT /DISK1  

  11. Datei nur aktualisieren, wenn die Quelle neuer ist
  12. Verwenden --aktualisieren Option zum Aktualisieren der Datei auf Remote nur, wenn eine neuere Version lokal ist. Der RSYNC erstellt eine Datei am Ziel, wenn nicht vorhanden ist. Außerdem ist die Aktualisierungsdatei am Ziel eines lokalen Zeitstempels neuer als die Remote -Systemdatei.

    rsync -update -avhz/opt/backups/mnt/disk1/  

  13. Entfernen Sie die Datei nach der Synchronisierung von der Quelle
  14. Verwenden --Entfernen Sie die Source-Files Option zum Entfernen einer Datei aus der Quelle nach erfolgreicher Überweisung zum Ziel. Beispielsweise müssen Sie eine Sicherung von Protokolldateien auf das Remote -System planen. Ich wollte auch die Datei aus dem lokalen System abrufen, nachdem er erfolgreich in die Fernbedienung kopiert wurde. Dies wird dazu beitragen, Speicherplatz zu beanspruchen.

    RSYNC--Remove-Source-Files -avHz/var/log [E-Mail-Schutz]:/backup/logs/  

  15. Spezifische Datei oder Verzeichnis mit RSYNC ausschließen
  16. Sie können eine Datei oder ein Muster mit angeben --ausschließen = Muster Option, von RSYNC auszuschließen.

    rsync -avh -exklude '*.ZIP ' -EXCLUDE'*.Log ' /src [E -Mail geschützt]: /dest  

  17. Fügen Sie spezifische Dateien mit RSYNC ein
  18. Der Standard -RSYNC enthält alle Dateien im Quellverzeichnisbaum. Jetzt müssen Sie nur bestimmte Dateien einfügen, um mit dem Ziel zu synchronisieren.

    Hier können Sie angeben --einschließen = Muster Um bestimmte Dateien einzuschließen und alle Dateien mit auszuschließen * .

    rsync -avhz -include '*.JPG ' -include'*.TXT ' -EXCLUDE'*' /SRC [E -Mail geschützt]: /dest  

  19. Fortschritte mit RSYNC anzeigen
  20. Verwenden --Fortschritt Option zum Fortschritt während der Dateiübertragung zwischen Quelle und Ziel mit dem Befehl rsync.

    rsync -avh -progress /src [E -Mail geschützt]: /dest  

  21. Chnage -Dateiberechtigungen mit RSYNC
  22. Sie können die RSYNC anweisen, den Eigentümer und die Gruppenbesitzer des Dateien am Ziel zu ändern. Option verwenden --Chown = Benutzer: Gruppe mit RSYNC, um die Dateiberechtigung zu ändern.

    RSYNC -AVH --CHOWN = Benutzer: Gruppen /SRC [E -Mail geschützt]: /dest  

    Ebenso können Sie die verwenden -chmod = chmod Option zum Ändern der Datei- oder Verzeichnisberechtigungen am Ziel.

    rsync -avh -chmod = 755 /src [E -Mail geschützt]: /dest  

  23. RSYNC nur trockener Lauf
  24. Verwenden --Probelauf Option, nur Trockenlauf auszuführen. Es zeigt Ihnen ähnliche Ergebnisse wie der ursprüngliche Befehl, aber nichts wird am Ziel aktualisiert. Grundsätzlich können wir dies verwenden, um zu überprüfen, was der RSYNC aktualisiert wird, bevor es tatsächlich ausgeführt wird.

    RSYNC -AVH -trocken -run /src [E -Mail geschützt]: /dest  

Abschluss

RSYNC ist ein großartiges Dienstprogramm zur Übertragung großer Datenmengen zwischen zwei Maschinen. Sie können auch RSYNC verwenden, um das gesamte System an einem Remote -Sicherungsort in diesem Artikel zu sichern. Sie haben einige praktische RSYNC -Befehlsbeispiele in diesem Artikel gelernt, die für tägliche Aufgaben hervorragend geeignet sind.