Inhaltsverzeichnis
Einführung in rsync
LinuxIn diesem Tutorial werde ich Ihnen erklären, wie Sie rsyncrsync(Remote Synchronization) verwenden können, um Kopien bzw. Sicherungen zu erstellen.
rsynEs handelt sich um ein Tool zur Ordnersynchronisation, das in den meisten DistributionenLinux verfügbar ist und häufig zum Erstellen von Backups von Dateien oder Websites eingesetzt wird …
Wenn Sie denselben Befehl wiederholt ausführen, d. h. mit derselben Quelle und demselben Ziel,rynckopiert rsync anschließend nur die neuen Elemente und diejenigen, die geändert wurden.
Der Vorteil von rsync liegt in der nativen Unterstützung von SSH, wodurch das Kopieren auf einen Remote-Server oder von einem Remote-Server möglich ist.
Verwendung von rsync
Nun wollen wir uns ansehen, wie rsync funktioniert.
Wie bei den meisten Kopierprogrammen müssen Quelle und Ziel angegeben werden:
rsync -parameters source/ destination/Die am häufigsten verwendeten Optionen sind:
- -a / –archive: Ermöglicht eine rekursive Kopie, bei der nahezu alle Eigenschaften der kopierten Elemente erhalten bleiben.
- -v / –verbose: Zeigt den Fortschritt an
Zur Veranschaulichung dieses Tutorials werden wir den Ordner/etc/ansible/zunächst auf demselben Server in einem bestimmten/backup/ansible/ Ordner sichern und anschließend auf einem Remote-Server.
Hier ist der Quellordner:

Um die Datei zu sichern, verwenden Sie folgenden Befehl:
sudo rsync -a /etc/ansible/ /backup/ansible/
-vWie man sieht, gibt der Befehl keine Rückmeldung. Wenn man Informationen zur Übertragung erhalten möchte, muss man den Parameter hinzufügen.
Wenn ich in den Ordner /backup/ansible/ schaue, sind die Ordner und Dateien ordnungsgemäß kopiert.

Wie Sie im Befehl zum Kopieren sehen konnten, steht am Ende der Quelle ein
/.Die beiden folgenden Befehle führen nicht zum gleichen Ergebnis:
rsync -a /etc/ansible /backup/ansible/rsync -a /etc/ansible/ /backup/ansible/Der erste Befehl erstellt den Quellordner am Zielort, was bedeutet, dass sich die Sicherung im folgenden Ordner befinden würde:
/backup/ansible/ansible/während der zweite Befehl den Inhalt der Quelle in den Zielordner kopiert.
Um den Fortschritt und das Ergebnis des Befehlsrsync anzuzeigen, muss der Parameter -v
sudo rsync -av /etc/ansible/ /backup/ansible/
Wenn ich denselben Befehl anschließend erneut ausführe, sieht man, dass nichts kopiert wurde, da keine Änderungen vorgenommen wurden.

In der Einführung habe ich Ihnen gesagt, dassrsync SSH nativ unterstützt, um Backups auf einen Remote-Server zu erstellen, und genau das werden wir nun tun.
Der Remote-Server kann entweder die Quelle oder das Ziel sein (vielleicht sogar beides gleichzeitig, aber das habe ich noch nicht ausprobiert!).
Hier ist die Syntax zur Angabe des Remote-Servers: <user>@<server>:/path/use/by/rsync/.
Um den Ordner /etc/ansible/ auf einem Remote-Server zu sichern:
sudo rsync -avz /etc/ansible/ [email protected]:/backup/ansible/Bei der Ausführung des Befehls muss das Passwort des Kontos auf dem Remote-Server angegeben werden.


Wie Sie sehen können, habe ich den Parameter -z hinzugefügt, der die Komprimierung während der Übertragung aktiviert.
Das für die Verbindung zum Remote-Server verwendete Konto muss Schreibrechte im Zielordner haben.
rsyncAuf dem Zielserver finde ich meine Dateien und Ordner, die übertragen wurden, tatsächlich wieder.
Im Internet finden Sie auch folgende Befehlssyntax:
sudo rsync -e ssh -avz /etc/ansible/ [email protected]:/backup/ansible/Der Parameter
-ewird hinzugefügt, um die Remote-Shell anzugeben
Wenn Sie ein Backup-Skript für einen Remote-Server erstellen möchten, müssen Sie eine SSH-Authentifizierung per Schlüssel einrichten.
Zusätzliche Parameter für rsync
Zum Abschluss dieses ersten Tutorials zursync hier noch einige nützliche Parameter:
--delete-after: Diese Option ermöglicht es, Dateien im Zielordner zu löschen, die in der Quelle nicht mehr vorhanden sind--remove-source-files: Löscht die Dateien aus der Quelle nach der Übertragung; dies entspricht einem „Ausschneiden/Einfügen“, Ordner werden dabei nicht gelöscht.--exclude: Ermöglicht das Ausschließen von Dateien oder Ordnern--exclude="*.log" --exclude="temp". Wenn Sie dies zum rsync-Befehl hinzufügen, werden alle Dateien mit der Endung .log und alle Ordner mit dem Namen „temp“ ausgeschlossen.
rsyncSie verfügen nun über alle Informationen, um Backup-Skripte mit rsync einzurichten.
Ergänzend dazu finden Sie hier die Man-Seite zursync mit allen verfügbaren Parametern.
In einem Tutorial-Projekt werde ich Ihnen erklären, wie Sie mit rsync differenzielle und inkrementelle Backups erstellen können.
