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

So konfigurieren Sie ein Backup mit rsync unter Ubuntu 18.04

Rsync (Remote Sync) ist ein Tool zum Kopieren und Synchronisieren von Dateien und Ordnern auf demselben Server oder zwischen verschiedenen Computern unter Linux.

Was Rsync vom klassischen „Kopieren und Einfügen“ unterscheidet, ist, dass dieses Tool automatisch erkennt, welche Dokumente sich zwischen zwei Ordnern unterscheiden, um so den Kopiervorgang von einem Quellordner zu einem Ziel zu beschleunigen.

P>

In diesem Artikel erfahren Sie, wie Sie Rsync unter Linux Ubuntu 18.04 installieren, konfigurieren und verwenden, um Dateien und Ordner zu synchronisieren und ein regelmäßiges Backup Ihres Servers zu planen.

Installation

Die rsync-Pakete sind bereits im offiziellen Ubuntu-Repository vorhanden. Um es zu installieren, geben Sie Folgendes ein:

$ sudo apt install rsync

Syntax

$ rsync options /path/source/ /path/destination/

Verfügbare Optionen sind:

  • -v:Die kopierten Dateien und Ordner werden auf der Shell angezeigt

  • -r:um die Ordner und ihre Inhalte zu kopieren

  • -h:Anstatt die Größe der kopierten Dateien in Bytes anzuzeigen, wird ein leicht lesbares Format angezeigt (statt 14.167.396 Bytes , 14,17 Mb zu sehen)

  • -z:um die übertragenen Daten zu komprimieren

  • -a:Zeigt die ursprünglichen Informationen der Datei an, wie z. B. Zeitstempel, Berechtigungen, Eigentümer usw.

  • -u:beim Kopieren,

  • --delete:rsync löscht die Dateien im Zielordner, die nicht im Quellordner vorhanden sind.

  • --exclude:Bestimmte Dateien oder Ordner werden beim Kopieren ignoriert.

  • --fortschritt:Zeigt den Prozentsatz des Kopiervorgangs und die verbleibende Zeit an.

  • --existing:nur die bereits im Zielordner vorhandenen Dateien werden kopiert.

Zwei Ordner auf demselben Computer synchronisieren

Das Kopieren von einem Ordner in einen anderen erfolgt mit dem Befehl "rsync", gefolgt vom Quellordner (aus dem die Elemente kopiert werden) und dem Zielordner. Ungeachtet der Tatsache, dass der zu kopierende Ordner Ordner in enthält, ist das Hinzufügen des Tags zum "-r"-Tag zu bevorzugen:

 $ rsync -r path/source path/destination

Der gesamte "source"-Ordner wird in den "destination"-Ordner kopiert.

 $ rsync -r ~/source/ ~/destination

Der Inhalt des Ordners "source" wird in den Ordner "destination" kopiert.

Beachten Sie den Unterschied zwischen den beiden Befehlen:Durch das Schreiben von "/" nach dem Quellordner wird das System angewiesen, die in dem Ordner enthaltenen Dateien zu kopieren.

Wenn Sie „/“ nicht eingeben, wird der gesamte Ordner ausgewählt und folglich eine Kopie des Quellordners im Zielordner erstellt.

Kopieren von Dateien eines einzelnen Formats

Rsync erlaubt auch nur das Kopieren bestimmter Dateitypen, indem das Format oder der Name angegeben wird.

Unter der Annahme, dass die Dateien im "txt"-Format vorliegen, können alle Dateien in diesem Format kopiert werden, indem Sie Folgendes eingeben:

$ rsync path/source_folder/*.txt path/destination_folder

Mit "*.txt" haben Sie ausdrücklich eine Kopie "aller .pdf-Dateien" angefordert.

Kopieren von Dateien über das SSH-Protokoll zwischen zwei Computern

Sie können auch das SSH-Protokoll verwenden, um Ihre Dateien und Ordner von Ihrem Computer auf einen anderen zu kopieren. Die Verwendung dieses Protokolls garantiert, dass alle Dateien während der Übertragung verschlüsselt werden und daher niemand sie lesen kann.

Der Befehl erfordert die Option "-e ssh", gefolgt von der Quelle und dem Ziel der Kopie.

$ rsync -r ssh path/source/ [email protected]_machine:/path/destination/

Das Passwort des Benutzers, der auf den Zielcomputer zugreift, wird benötigt.

Dateien nach Größe kopieren

Rsync filtert die zu kopierenden Dateien auch basierend auf der Größe, die sie auf der Festplatte einnehmen.

$ rsync --max-size=15k path/source_folder/*.* path/destination_folder/*.*

Nur die Dateien kleiner als 15Kb werden kopiert.

Die größeren Dateien werden ignoriert.

$ rsync --min-size=20k ~/source_folder/*.* ~/destination_folder/*.*

Nur die Dateien, die größer als 20 KB sind, werden kopiert.
Die kleineren Dateien werden ignoriert.

Ausschließen von Dateien vom Kopieren basierend auf der Erweiterung

Wenn Sie einige Dateitypen nicht kopieren möchten, können Sie das Tag „--exclude“ verwenden, um einige Dateien basierend auf der Erweiterung vom Kopieren auszuschließen.

Im Beispiel unten werden Dateien im .PDF-Format nicht aus dem "Quell"-Ordner in den "Ziel"-Ordner kopiert.

$ rsync -r --exclude="*.pdf" path/source_folder/ path/destination_folder

Entfernen von Inhalt aus dem Quellordner nach der Übertragung

Ebenso das Konzept des "Ausschneidens und Einfügens", mit rsync können Dateien von einem Quellordner in einen Zielordner verschoben werden. In diesem Fall werden die Dateien in den Zielordner kopiert und anschließend aus dem Quellordner entfernt.

$ rsync -r --remove-source-files path/source_folder path/destination_folder

Übertragungsratenlimit festlegen

Wenn Sie über das Netzwerk kopieren, müssen Sie möglicherweise eine Upload-Geschwindigkeitsbegrenzung für Ihre Dateien festlegen. Verwenden Sie in diesem Fall das Tag „--bwlimit =KBPS“ und ersetzen Sie „KBPS“ durch die gewünschte Übertragungsrate.

$ rsync --bwlimit=KBPS -r ssh source_path/folder [email protected]_receiver:/destination_path

Ersetzen Sie „KBPS“ durch den Wert der maximalen Übertragungsgeschwindigkeit, ausgedrückt in KB/s (2048 KB/s =2MB/s)

Regelmäßiges und automatisches Kopieren

Falls Sie rsync verwenden, um ein Backup zu erstellen, aber die Befehle nicht jedes Mal eingeben möchten, gibt es ein Tool, das perfekt für Sie ist:Cron.

Dieser Dienst ist bereits in Ubuntu 18.04 vorhanden und ermöglicht es, einige "Regeln" für die regelmäßige Wiederholung einiger Befehle festzulegen.

Um mit der Erstellung Ihrer Regeln zu beginnen und dann mit der Einrichtung Ihres automatischen Kopiervorgangs zu beginnen, geben Sie Folgendes ein:

$ crontab -e

Ein Texteditor, in dem Sie angeben können, welcher Befehl regelmäßig wiederholt werden soll, wird geöffnet. Nachdem Sie die Regeln festgelegt haben, speichern und schließen Sie sie.

Wie man ein Crontab konfiguriert

Das Schreiben der Crontab muss einer genauen Syntax folgen, die 6 geordnete Parameter angibt:

 m h dom mon dow command
  • m:Minuten (0-59)

  • h:Stunden (0-23)

  • dom:Tag des Monats (1-31)

  • Mon:Monat (1-12)

  • dow:Wochentag (0:Sonntag - 6:Samstag)

  • Befehl:auszuführender Befehl

    Beispiele möglicher Konfigurationen:

     30 * * * * rsync path/source/*.pdf path/destination

    (jeden Monat, jeden Tag und stündlich alle 30 Minuten werden alle ".pdf"-Dateien im Ordner "source" in den Ordner "destination" kopiert)

    */2 * * * * rsync-Pfad/Quelle/*.pdf-Pfad/Ziel (alle .pdf-Dateien, die im Ordner „Quelle“ im Ordner „Ziel“ vorhanden sind werden jeden Tag des Monats alle 2 Minuten kopiert)

    50 8 * * 1,3 rsync Pfad/Quelle/*.pdf Pfad/Ziel (der Befehl zum Kopieren von .pdf-Dateien im Ordner „Quelle“ in den Ordner „Ziel“ Ordner wird von Montag bis Mittwoch um 8:50 Uhr ausgeführt)

    Sobald Sie den Editor gespeichert und geschlossen haben, geben Sie Folgendes ein, um die Liste der Crontabs anzuzeigen:

    $ crontab -l

    Linux
    1. Wie lösche ich alle Dateien mit einer bestimmten Erweiterung in einem bestimmten Ordner?

    2. Wie kann man Rsync selektiv stumm schalten?

    3. Wie kann ich das Ubuntu-Telefon sichern?

    4. So konfigurieren Sie eine Firewall mit UFW unter Ubuntu 18.04

    5. So übertragen Sie Dateien unter Linux mit SCP und Rsync

    So sichern Sie Dateien mit Déjà Dup und Duplicity unter Ubuntu 18.04 LTS

    Wie konfiguriere ich die Dropbox-Sicherung mit Plesk?

    So konfigurieren Sie die Firewall mit UFW unter Ubuntu Linux

    So installieren Sie 7Zip unter Ubuntu 18.04

    So richten Sie ein VPN mit OpenVPN unter Ubuntu 18.04 ein und konfigurieren es

    So konfigurieren Sie einen SMTP-Mailserver mit Postfix unter Ubuntu 18.04