▷ Rsync Linux: Verwendungs- und Befehlsbeispiele

Die Verwendung von Befehlen unter Linux ist mehr als selbstverständlich, da diese seit vielen Jahren das Herz von Linux sind, deshalb müssen wir uns der Art und Weise bewusst sein, wie wir diese Befehle verwenden, da einige für grundlegende Aufgaben praktisch sind, andere jedoch können gefährlich sein, wenn wir sie nicht richtig handhaben. Einer der funktionalsten Linux-Befehle ist das rsync-Protokoll, das Solvetic Ihnen in diesem Tutorial ausführlich erklärt. Lass uns zuerst sehen was ist rsync.

Derzeit kann die Wartung einer Infrastruktur beliebiger Größe ohne Backup als verrückt angesehen werden, eine Festplatte kann jederzeit ausfallen und Sie könnten so wertvolle Informationen wie die Buchhaltung des Unternehmens verlieren. In diesem Beitrag werden wir über die Verwendung von Rsync sprechen, einem der besten Tools für Backups auf * nix-Systemen. Wir werden von den grundlegendsten bis hin zu fortgeschritteneren Beispielen mit Skripten und Beispielen sehen, die Sie in Ihrer Arbeitsumgebung anwenden können. Es wird ein Handbuch sein, um zu wissen, wie man rysnc benutzt.

Die Notwendigkeit, die gleichen Informationen an verschiedenen Orten zu haben, wird immer stärker, da unser Arbeitsbereich variabel ist und wir unsere Tools immer oder sogar als Backup-Maßnahmen bei uns haben möchten.

Was ist rsync?Es ist ein Open-Source-Tool zum Übertragen von Dateien und Verzeichnissen zwischen einem Ort und einem anderen. Seine Vorteile liegen hauptsächlich in der Komprimierung der zu sendenden Informationen, es ermöglicht die Übertragung über einen SSH-Kanal und überträgt nur die Dateien und Dateiteile, die geändert wurden, anstatt die gesamte Datei erneut zu übertragen, etwas ähnlich wie beim Übertragen der Unterschiede in einer Datei unter der Git-Versionskontrolle.

Der Befehl rsync (Remote Sync) ist ein Befehl, der für das Kopieren und Synchronisieren von Dateien und Verzeichnissen entweder remote oder lokal auf Linux- oder UNIX-Systemen entwickelt wurde.

Mit diesem Befehl können wir Kopien erstellen von:

  • Örtlich
  • Verwenden einer Remote-Shell
  • Über einen entfernten rsync-Daemon

Rsync verwendetZu den verschiedenen Verwendungen für rsync gehören die folgenden:

  • Automatisierte Backups auf Remote-Server oder -Festplatten.
  • Remote-Datei- und Verzeichnissynchronisierung.
  • Gemeinsame Dateiübertragung.

Rsync-Vorteile

  • Es ist schneller als scp (Secure Copy), da rsync ein Upload-Protokoll verwendet, das es ermöglicht, nur die Unterschiede zwischen den Dateien zu übertragen, beim ersten Mal überträgt es die gesamte Datei, beim zweiten Mal nur die Änderungen, die möglicherweise vorhanden sind.
  • Es ist für Remote-Backups konzipiert.
  • Unterstützt das Kopieren aller Dateiberechtigungen, zum Beispiel Besitzer, Softgroups und Hardlink.
  • Verwenden Sie weniger Bandbreite, indem Sie beim Senden von Dateien Komprimierung verwenden.

Rsync verfügt über eine Delta-Übertragungsfunktion, die es ermöglicht, die Datenmenge, die über das Netzwerk gesendet wird, zu reduzieren, sodass nur die Unterschiede zwischen den Quelldateien und den vorhandenen Dateien im Remote-Ziel gesendet werden können. Aus diesem Grund ist rsync ideal für Backup und Duplizierung.
Rsync sucht nach Dateien, die übertragen werden sollen, indem ein lqquick checkqq-Algorithmus verwendet wird, der für die Suche nach Dateien verantwortlich ist, die irgendeine Art von Modifikation erfahren haben.

Rsync-FunktionenEinige seiner Hauptmerkmale sind:

  • Integriert Funktionen zum Ausschließen von Optionen ähnlich wie GNU tar
  • Es unterstützt das Kopieren von Linux-Links, Geräten, Besitzern, Gruppen und Berechtigungen
  • Fügen Sie einen CVS-Ausschlussmodus hinzu, der es ermöglicht, dieselben Dateien zu ignorieren, die CVS in seiner Funktion ignorieren würde
  • Erfordert keine Superuser-Berechtigungen (root)
  • Wir können eine Remote-Shell wie ssh oder rsh verwenden
  • Bietet eine Pipeline von Dateiübertragungen, um die Kosten für die Netzwerklatenz zu minimieren
  • Unterstützt authentifizierte oder anonyme rsync-Daemons
  • Es ist schneller als scp

Wir werden sehen, wie Sie die Parameter rsync und rsync verwenden, um Aufgaben wie rsync nur neue Dateien kopieren oder rsync Zieldateien löschen ausführen zu können.

1. So verwenden Sie rsync

Die Syntax für die Verwendung dieses Befehls lautet wie folgt:

 rsync-Optionen Ressourcenziel 
Rsync-VariablenDurch die Verwendung dieser Syntax können wir einige Variablen hinzufügen wie:

  • -v: ausführlicher Modus.
  • -r: Diese Option kopiert die Daten rekursiv, ohne Zeitstempel und Berechtigungen während des Prozesses zu hinterlassen.
  • -a: Dateimodus, der das rekursive Kopieren von Dateien ermöglicht und symbolische Links, Dateiberechtigungen, Benutzer- und Gruppenbesitz und Zeitstempel beibehält.
  • -z: Diese Option komprimiert die Daten in der Datei.
  • -h: menschenlesbarer Modus, Ausgabe von Zahlen in einem menschenlesbaren Format.

Sehen wir uns nun einige Beispiele für die Verwendung dieses Befehls an. Am Ende des Tutorials gibt Solvetic Ihnen weitere Parameter für die Verwendung von rsync unter Linux.

2. So installieren Sie rsync

Schritt 1
In den meisten aktuellen Systemen ist rsync standardmäßig installiert, aber wenn dies nicht der Fall ist, können wir Folgendes ausführen:

 yum install rsync (Red Hat - CentOS - Fedora) apt-get install rsync (Debian - Ubuntu)

VERGRÖSSERN

Schritt 2
Auf jeden Fall müssen wir die Installation von rsync bestätigen, in einigen Systemen wie Ubuntu 20 kommt es bereits standardmäßig:

3. Kopieren Sie Dateien und kopieren Sie Verzeichnisse mit rsync


Die erste Verwendung von rsync besteht darin, eine Datei oder ein Verzeichnis lokal zu kopieren oder zu synchronisieren. Sehen wir uns an, wie Sie rsync-Dateien kopieren, Verzeichnisse mit rsync kopieren und zwei Verzeichnisse mit rsync synchronisieren.

Schritt 1
Dazu führen wir folgendes aus

 rsync -zvh "Datei" "Ziel" 

Schritt 2
Dort sehen wir Details wie:

  • Daten gesendet
  • Menge der empfangenen Daten
  • Übertragungsgeschwindigkeit
  • Gesamte Größe

Schritt 3
Wenn der Fall ist, ein Verzeichnis lokal zu kopieren, führen wir Folgendes aus:

 rsync -zvh "Verzeichnis" "Ziel" 

4. Kopieren oder synchronisieren Sie entfernte rsync-Ordner oder entfernte Verzeichnisse

Schritt 1
Wir können Dateien lokal auf einen Remote-Computer kopieren oder synchronisieren, dafür verwenden wir die folgende Syntax:

 rsync -avz-Datei / [email protected]: / Ziel / 

Schritt 2
Immer wenn wir die Remote-IP verwenden, müssen wir das Root-Passwort des Remote-Computers eingeben. Wenn wir nun ein Remote-Verzeichnis auf unseren lokalen Server kopieren, verwenden wir die folgende Syntax:

 rsync -azvh [email protected]: / Ziel / Verzeichnis / 

5. Rsync SSH wie zu verwenden


SSH (Secure Shell) ist ein zusätzlicher Sicherheitsmechanismus für die Datenübertragung, dies wird erreicht, da SSH eine sichere Verbindung mit hochstandardisierter Verschlüsselung verwendet.

Schritt 1
Wenn wir eine lokale Datei mit SSH auf einen Remote-Computer kopieren möchten, müssen wir die Option "-e" mit dem Namen des Protokolls verwenden, das Sie verwenden möchten:

 rsync -avzhe ssh [email protected]: / Ziel / Verzeichnis 

Schritt 2
Um eine lokale Datei auf einen Remote-Server zu kopieren, verwenden wir die folgende Syntax:

 rsync -avzhe ssh "Datei" [email protected]: / Ziel / 

Schritt 3
Wir können im Remote-Verzeichnis überprüfen, ob die Datei oder das Verzeichnis kopiert wurde:

VERGRÖSSERN

6. Rsync zeigt den Fortschritt der Datei- oder Verzeichnisübertragung an


Dies ist eine Methode zum besseren Transfermanagement, dies wird mit dem Parameter -progress erreicht:
 rsync -avzhe ssh --progress / source [email protected]: / destination 

7. rsync-Verzeichnisse einschließen oder ausschließen


Die Optionen -include und -exclude sind Optionen, die es uns ermöglichen, Dateien entweder einzuschließen oder auszuschließen, sie ermöglichen es uns auch, die Dateien oder Verzeichnisse anzugeben, die in die Synchronisierung eingeschlossen werden sollen, oder Dateien und Ordner auszuschließen, die nicht übertragen werden sollen.

Seine Verwendung ist wie folgt:

 rsync -avze ssh --include 'Buchstabe *' --exclude '*' [email protected]: / destination 

8. Rsync Dateien und Verzeichnisse löschen


Falls eine Datei oder ein Verzeichnis nicht in der Quelle, aber bereits im Ziel vorhanden ist, können wir diese Datei oder dieses Verzeichnis während des Synchronisationsprozesses löschen. Dazu können wir -delete verwenden, um die Elemente zu löschen, die sich nicht auf dem Zielcomputer führen wir Folgendes aus:
 rsync -avz --delete [email protected]: / destination 

9. Rsync Dateigröße begrenzen


Mit dem Parameter -max-size können wir die maximale Größe der mit rsync zu übertragenden Objekte angeben, dies hilft bei der Kontrolle des Remote-Speichers:
 rsync -avzhe ssh --max-size = '300k' / source / [email protected]: / destination 

10. Rsync Quelldateien löschen, wenn Übertragung erfolgreich war

Mit der Variable -remove-source-files ist es möglich, dass die Dateien, die in der Quelle synchronisiert wurden, nur entfernt werden, wenn der gesamte Vorgang korrekt war, dafür verwenden wir Folgendes. Wir sehen, dass die Quelldatei gelöscht wurde.

 rsync --remove-source-files -zvh "Datei" / Ziel / 

11. Führen Sie rsync aus, ohne die Dateien zu beeinträchtigen


Dies ist eine ideale Option für Leute, die die Leistungsfähigkeit von rsync nicht vollständig kennen, da es zeigt, was der Befehl tut, aber den Ursprung nicht beeinflusst, dies wird beispielsweise mit dem Parameter -dry-run erreicht. Wir können sehen, dass die Datei noch da ist.
 rsync --dry-run --remove-source-files -zvh "Datei" / Ziel / 

12. Begrenzen Sie die rsync-Bandbreite


Mit dem Parameter -bwlimit kann festgelegt werden, welche Netzwerkrate rsync für Synchronisationsaufgaben verwenden soll, dies wird wie folgt erreicht:
 rsync --bwlimit = 200 -avzhe ssh / source / [email protected]: / destination 

13. Backup mit Rsync


Manchmal müssen wir bestimmte Informationen sichern, bevor wir Änderungen vornehmen, und im Falle eines Fehlers bei der Wiederherstellung von Backup beginnen wir mit einer Laborsicherung von einem Ordner in einen anderen. Auf diese Weise erstellen wir vollständig und sicher ein Backup mit rsync.

Schritt 1
Wir beginnen damit, dass wir überprüfen, ob rsync installiert ist.

 [user @ Solvetic ~] $ welches rsync / usr / bin / rsync
Schritt 2
Wir werden 2 Ordner für die Quelle und das Ziel der Dateien erstellen.
 mkdir {backup1, backup2} 
Schritt 3
Wir erstellen mehrere Dateien im Backup1-Ordner, in diesem Fall spielt die Größe der Dateien keine Rolle.
 [Benutzer @ Solvetic ~] $ touch backup1 / file {1… 75} 
Schritt 4
Das Verzeichnis sollte 75 Dateien enthalten. Wir machen Backup.
 [user @ Solvetic ~] $ ls backup1 / file1 file14 file19 file23 file28 file32 file37 file41 file46 file50 file55 file6 file64 file69 file73 file10 file15 file2 file24 file29 file33 file38 file42 file47 file51 file56 file60 file65 file7 file74 file11 file16 file20 file25 file3 file34 file39 file43 file48 file52 Datei57 Datei61 Datei66 Datei70 Datei75 Datei12 Datei17 Datei21 Datei26 Datei30 Datei35 Datei4 Datei44 Datei49 Datei53 Datei58 Datei62 Datei67 Datei71 Datei8 Datei13 Datei18 Datei22 Datei27 Datei31 Datei36 Datei40 Datei45 Datei5 Datei54 Datei59 Datei63 Datei68 Datei72 Datei9
Schritt 5
Um die Dateien auf backup2 zu sichern, verwenden wir. Die Quelle muss auf / enden, sonst würde sie ihren Ordner kopieren und nicht den Inhalt.
 rsync -r backup1 / backup2 
Schritt 6
WENN wir das Backup2 eingeben, können wir die 75 Dateien sehen, die wir sogar überprüfen können, ob es sich um 2 identische Verzeichnisse mit diff handelt.
 [Benutzer @ Solvetic ~] $ diff backup1 backup2 
Schritt 7
Beim Erstellen eines Softlinks aus einer Datei im Verzeichnis 1
 ln -s Datei30 Datei100 
Schritt 8
Wenn Sie rsync mit -r verwenden, wird der Softlink in diesem Fall, den wir verwenden, nicht synchronisiert. Wenn wir uns diese Zeit ansehen, haben wir den Softlink synchronisiert.
 rsync -a backup1 / backup2 
NotizWenn wir nicht sicher sind, was wir unterstützen werden, können wir eine Simulation mit -n verwenden und in Verbindung mit -v kann dies sehr nützlich sein.
 [user @ Solvetic ~] $ rsync -anv backup1 / backup2 inkrementelle Dateiliste senden gesendet 606 Bytes empfangen 12 Bytes 1236,00 Bytes / Sek. Gesamtgröße beträgt 6 Beschleunigung ist 0,01 (DRY RUN)

14. Andere Rsync-Parameter


Wie bereits erwähnt, sind dies einige der zusätzlichen Parameter, die mit rsync unter Linux verwendet werden können:

Rsync-Parameter

  • -t, --times: Zeitänderung beibehalten
  • -g, --group: Gruppen behalten
  • -o, --owner: Besitzer des Objekts behalten
  • -B, --block-size = SIZE: Erzwinge eine feste Prüfsummenblockgröße
  • T, --temp-dir = DIR: dieser Wert erstellt temporäre Dateien im DIR-Verzeichnis
  • z, --compress: Komprimiert die Dateidaten während der Übertragung
  • -4, --ipv4: nur IPv4 verwenden
  • -6, --ipv6: nur IPv6 verwenden

Es gibt noch viele weitere Variablen, aber diese sind mehr als genug, um rsync unter Linux optimal zu nutzen. Wir haben gesehen, wie man rsync mit den nützlichsten Optionen verwendet, zusammen mit Tools wie Cron- und Bash-Skripten, Python haben wir alles, was wir brauchen, um unsere Backups ohne Tools von Drittanbietern zu erstellen.

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave