GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux rsync-Befehlsbeispiele

Rsync, kurz für Remote Sync , ist ein Linux-Befehl, der zum Kopieren und Synchronisieren von Dateien zwischen zwei Linux-Systemen verwendet wird. Es funktioniert so, dass alle zusätzlichen Änderungen an einer Datei oder einem Verzeichnis auf einem anderen Linux-System repliziert werden.

Mit dem Linux-Befehl rsync können Sie Backups nahtlos lokal und remote zwischen Linux-Systemen und -Servern kopieren und synchronisieren. In diesem Artikel untersuchen wir verschiedene Befehlsoptionen, die Sie zusammen mit dem Befehl rsync verwenden können.

Grundlegende Syntax für den Linux-rsync-Befehl

Die Syntax für rsync ist unten kurz zusammengefasst.

$ rsync options source destination

Mit dem rsync-Befehl verwendete Optionen

  • -z :Dadurch werden Daten komprimiert.
  • -v :Dies zeigt den Vorgang im ausführlichen Modus an.
  • -r :Die Option kopiert Daten rekursiv (Die Option behält jedoch keine Zeitstempel und Dateiberechtigungen während der Datenübertragung bei).
  • -h :Dies gibt Informationen in einem für Menschen lesbaren Format aus.
  • -a :Dies ermöglicht nicht nur das rekursive Kopieren von Dateien, sondern bewahrt auch symbolische Links, Zeitstempel, Dateiberechtigungen sowie Benutzer- und Gruppeneigentumsrechte.

Dateien und Verzeichnisse lokal kopieren

Sie können Dateien lokal von einem Speicherort zu einem anderen auf einem Linux-Computer synchronisieren, indem Sie das folgende Beispiel verwenden.

$ rsync -zvh backup.tar /opt/backup_dir

Im obigen Beispiel der Tarball backup.tar wird in das /opt/backup_dir kopiert und synchronisiert Verzeichnis.

Beispielausgabe

Um ein Verzeichnis lokal von einem Ort zu einem anderen zu kopieren :

Die Syntax ist ähnlich wie beim Kopieren von Dateien, nur dass wir in diesem Fall den -a verwenden Flag für rekursives Kopieren.

Im Beispiel unten kopieren und synchronisieren wir die deb_packages in das Verzeichnis /opt/backup_dir Verzeichnis.

$ rsync -azvh deb_packages /opt/backup_dir

Beispielausgabe

Dateien oder Verzeichnisse zu und von einem Remote-Server kopieren/synchronisieren

Um ein Verzeichnis auf einen entfernten Server zu kopieren, müssen der Benutzername und die IP-Adresse des Servers neben dem Zielordner angegeben werden.

Im Beispiel unten sind die deb_packages Verzeichnis wird auf einen entfernten Server mit einer IP 66.152.163.19 kopiert unter Verwendung von Root-Benutzer-Anmeldeinformationen und im Root-Home-Verzeichnis gespeichert.

$ rsync -avz deb_packages [email protected]: 

Beispielausgabe

Zum Kopieren und Synchronisieren eines Verzeichnisses von einem Remote-Server auf einen lokalen PC :

Verwenden Sie das folgende Beispiel, um Dateien von einem Remote-System auf ein lokales Linux-System zu kopieren und zu synchronisieren

$ rsync -avzh [email protected]:documents /opt/backup_dir

Im obigen Beispiel das Verzeichnis documents wird rekursiv vom entfernten System mit einer IP 66.152.163.19 kopiert auf das lokale System in /opt/backup_dir Verzeichnis.

Rsync-Befehl über SSH

Rsync kann zusammen mit dem SSH-Protokoll verwendet werden, um die Dateien zu sichern oder zu verschlüsseln, die an und von einem Linux-System gesendet werden. Dadurch wird sichergestellt, dass niemand die Daten abhören kann, die Sie über das Netzwerk übertragen.

So kopieren Sie eine Datei von einem lokalen Server auf einen Remote-Server mit rsync über SSH:

In diesem Beispiel verwenden wir das -e Option mit rsync, um ein Protokoll anzugeben, in diesem Fall SSH.

$ rsync -avhze ssh backup.tar [email protected]:/backup_dir

Beispielausgabe

So kopieren Sie eine Datei mit rsync über SSH von einem Remote-Server auf ein lokales System:

Genau wie im vorherigen Beispiel wird der rsync-Befehl zusammen mit dem -e verwendet Option.

$ rsync -avzhe ssh [email protected]:/backup_dir /tmp/

Beispielausgabe

Fortschritt während der Datenübertragung mit dem rsync-Befehl anzeigen

Wenn Sie den Fortschritt während der Datenübertragung anzeigen möchten, verwenden Sie --progress Möglichkeit. Dies zeigt die Datei und die geschätzte Zeit bis zum Abschluss der Datenübertragung an.

Beispielausgabe

Linux-rsync-Befehl mit –include- und –exclude-Optionen

Diese Optionen oben helfen Benutzern beim include und exclude Dateien, die sie in den Synchronisierungsprozess ein- oder ausschließen möchten.

Im folgenden Beispiel fügt der Befehl rsync diese Dateien in /var/lib ein Verzeichnis, das mit „p“ beginnt und alle anderen Dateien und Verzeichnisse ausschließt.

$ rsync -avz --include 'p*' --exclude '*' /var/lib [email protected]:/opt/backup_dir

Beispielausgabe

Maximale Größe der zu übertragenden Dateien festlegen

Mit der Option „–max-size“ können Sie die maximale Dateigröße festlegen, die übertragen und synchronisiert werden soll.

$ rsync -avzh --max-size='50M' deb_packages [email protected]:/opt/backup-dir

Der obige Befehl begrenzt die Übertragung von Dateien in deb_packages Verzeichnis auf 50 Megabyte. Das bedeutet, dass nur Dateien bis zu einer Größe von 50 MB übertragen und synchronisiert werden.

Beispielausgabe

Quelldateien nach erfolgreicher Übertragung löschen

Wenn Sie eine Sicherungskopie Ihrer Dateien auf einem entfernten Ziel erstellen, aber keine lokale Kopie behalten möchten, verwenden Sie –remove-source-files Option wie gezeigt.

$ rsync --remove-source-files -zvh backup.tar /tmp/mybackups/

Beispielausgabe

Wir hoffen, dass dieser Artikel für Sie von Nutzen war. Wenn Sie Fragen haben, wenden Sie sich bitte mit Ihrem Feedback an uns.


Linux
  1. 7 Praktische Beispiele für den cd-Befehl unter Linux

  2. Praktische Beispiele für den rsync-Befehl unter Linux

  3. rm-Befehlsbeispiele unter Linux

  4. ps-Befehlsbeispiele in Linux

  5. w Befehlsbeispiele unter Linux

Du-Befehl unter Linux

Linux-CD-Befehl mit Beispielen

mv-Befehl unter Linux

5 praktische Beispiele für den „cd“-Befehl unter Linux

15 Praktische Beispiele für den Rsync-Befehl unter Linux

id-Befehlsbeispiele in Linux