RDIFF -BACKUP - Ein Remote -Inkremental -Backup -Tool für Linux

RDIFF -BACKUP - Ein Remote -Inkremental -Backup -Tool für Linux

rdiff-backup ist ein leistungsstarkes und benutzerfreundliches Python-Skript für die lokale/remote-inkrementelle Sicherung, die auf jedem POSIX-Betriebssystem wie Linux, Mac OS X oder Cygwin funktioniert. Es bringt die bemerkenswerten Merkmale eines Spiegels und eine inkrementelle Sicherung zusammen.

Bezeichnenderweise erhalten Sie Unterverzeichnisse, Entwicklerdateien, harte Links und kritische Dateiattribute wie Berechtigungen, UID/GID -Besitz, Änderungszeiten, erweiterte Attribute, ACLs und Ressourcengabeln. Es kann in einem Bandbreiten-effizientes Modus über einer Rohre auf ähnliche Weise wie das beliebte RSYNC-Backup-Tool funktionieren.

rdiff-backup Sicheret ein einzelnes Verzeichnis über ein Netzwerk mit SSH auf ein anderes über ein Netz. Das Zielverzeichnis (auf dem Remote -System) endet eine genaue Kopie des Quellverzeichnisses.

Abhängigkeiten

Um RDIFF-Backup unter Linux zu verwenden, benötigen Sie die folgenden Pakete, die auf Ihrem System installiert sind:

  • Python V2.2 oder später
  • librsync v0.9.7 oder später
  • Pylibacl- und Pyxattr -Python -Module sind optional, aber für die POSIX Access Control List (ACL) bzw. erweiterte Attributunterstützung erforderlich.
  • RDIFF-BACKUP-Statistik erfordert Python V2.4 oder später.

So installieren Sie RDIFF-Backup unter Linux

Wichtig: Wenn Sie über ein Netzwerk arbeiten, müssen Sie RDIFF-Backup-Systeme installieren, vorzugsweise müssen beide Installationen von RDIFF-Backup genau dieselbe Version sein.

Das Skript ist bereits in den offiziellen Repositories der Mainstream-Linux-Verteilungen vorhanden. Führen Sie einfach den folgenden Befehl aus, um RDIFF-Backup sowie seine Abhängigkeiten zu installieren:

Intall rdiff-backup auf Ubuntu

Installieren Rdiff-backup An Ubuntu Focal oder Debian Bullseye oder neuer (hat 2.0).

$ sudo APT-Get Update $ sudo apt-Get Installieren Sie librsync-dev rdiff-backup 

Installieren Rdiff-backup Auf Ubuntu Backports für ältere Versionen (benötigt ein Backported 2.0).

$ sudo add-apt-repository pPA: rdiff-backup/rdiff-backup-backports $ sudo apt update $ sudo apt install RDIFF-BACKU 

Auf CentOS/rhel 8

Installation von RDIFF-Backup auf CentOS und RHEL 8 (von COPR).

$ sudo yum install yum-plugin-cop 

Auf CentOS/rhel 7

Installation von RDIFF-Backup auf CentOS und RHEL 7 (von COPR).

$ sudo yum install yum-plugin-cop 

Auf CentOS/rhel 6

$ sudo yum install centOS-release-scl $ sudo yum install rh-python36 gcc libacl-devel $ scl aktivieren rh-python36 bash $ sudo pip install RDIFF-Backup pyxattr pyxattr pylibacl $ echo 'execl enable rh-python36-rdiff-backup "[E -Mail geschützt]" '| sudo tee/usr/bin/rdiff-backup $ sudo chmod +x/usr/bin/rdiff-backup 

Auf Fedora

Installation von RDIFF-Backup auf Fedora 32+.

$ sudo dnf install rdiff-backup 

So verwenden Sie RDIFF-Backup unter Linux

Wie ich bereits erwähnte, rdiff-backup Verwendet SSH, um eine Verbindung zu Remote -Maschinen in Ihrem Netzwerk herzustellen, und die Standardauthentifizierung in SSH ist die Benutzername/Kennwort -Methode, für die normalerweise die menschliche Interaktion erforderlich ist.

Um Aufgaben wie automatische Sicherungen mit Skripten und darüber hinaus zu automatisieren.

Sobald Sie die SSH -Kennwortlin -Anmeldung eingerichtet haben, können Sie das Skript mit den folgenden Beispielen verwenden.

Sicherungsdateien zu einer anderen Partition

Das folgende Beispiel wird die Sicherung des /usw Verzeichnis in a Backup Verzeichnis auf einer anderen Partition:

$ sudo rdiff-backup/etc/media/aaronkilik/data/backup/mint_etc.Backup 
Sicherungsdateien zu einer anderen Partition

Um ein bestimmtes Verzeichnis auszuschließen und Subdirektorien --ausschließen Option wie folgt:

$ sudo rdiff-backup-exclude/etc/cockpit-exclude/etc/bluetooth/media/aaronkilik/data/backup/mint_etc.Backup 

Wir können alle Gerätedateien, FIFO -Dateien, Socket -Dateien und symbolische Links mit dem einfügen --Einbeziehung von Spezialfilmen Option wie unten:

$ sudo rdiff-backup-include-speziell-exklude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.Backup 

Es gibt zwei weitere wichtige Flags, die wir für die Dateiauswahl festlegen können --Maximale Dateigröße Größe, die Dateien ausschließt, die größer sind als die angegebene Größe in Bytes und --Min-Dateigröße Größe, die Dateien ausschließt, die kleiner als die angegebene Größe in Bytes sind:

$ sudo rdiff-backup-max-file-size 5m-include-special-files-exclude/etc/cockpit/media/aaronkilik/data/backup/mint_etc.Backup 

Sicherung von Remote -Dateien auf dem lokalen Linux -Server Sicherungsdateien

Für den Zweck dieses Abschnitts werden wir verwenden:

Remote -Server (Tecmint): 192.168.56.102 Lokaler Backup -Server (Backup): 192.168.56.10 

Wie bereits erwähnt, müssen Sie dieselbe Version von installieren rdiff-backup Versuchen Sie nun auf beiden Maschinen wie folgt die Version auf beiden Maschinen zu überprüfen:

$ rdiff -backup -v 
Überprüfen Sie die RDIFF -Version auf Servern

Erstellen Sie auf dem Backup -Server ein Verzeichnis, in dem die Sicherungsdateien wie SO gespeichert werden:

# Mkdir -p /Backups 

Führen Sie nun vom Backup -Server die folgenden Befehle aus, um eine Sicherung von Verzeichnissen zu erstellen /var/log/log/ Und /Wurzel vom Remote Linux Server 192.168.56.102 In /Backups:

# RDIFF-BACKUP [E-Mail geschützt] ::/var/log//backups/192.168.56.102_logs.Sicherung # rdiff-backup [E-Mail geschützt] ::/root//backups/192.168.56.102_Rootfiles.Backup 

Der folgende Screenshot zeigt die Root -Datei auf dem Remote -Server 192.168.56.102 und die gesicherten Dateien auf dem Back Server 192.168.56.10:

Sicherungs -Remote -Verzeichnis auf dem lokalen Server

Beachten rdiff-backup-data Verzeichnis erstellt in der Backup Verzeichnis, wie im Screenshot zu sehen ist, enthält es wichtige Daten zum Sicherungsprozess und inkrementellen Dateien.

rdiff -backup - Backup -Prozessdateien

Jetzt auf dem Server 192.168.56.102, Das Root -Verzeichnis wurden wie unten gezeigt hinzugefügt:

Überprüfen Sie das Backup -Verzeichnis

Lassen Sie uns den Backup -Befehl noch einmal Zeit ausführen, um die geänderten Daten zu erhalten. Wir können die verwenden -V [0-9] (Wenn die Zahl die Ausführungsstufe angibt, ist die Standardeinstellung 3, was still ist.) Option, um die Ausführungsfunktion festzulegen:

# rdiff -backup -v4 [E -Mail geschützt] ::/root//backups/192.168.56.102_Rootfiles.Backup 
Inkrementelle Sicherung mit Zusammenfassung

Und um die Nummer und das Datum der teilweise inkrementellen Sicherungen aufzulisten, die in der enthalten sind /Backups/192.168.56.102_Rootfiles.Backup Verzeichnis, wir können ausführen:

# rdiff -backup -l /backups /192.168.56.102_Rootfiles.Backup/ 

Automatisierung von RDIFF-Back-Backup mit Cron

Wir können zusammenfassende Statistiken nach einer erfolgreichen Sicherung mit dem drucken --Druckstatistik. Wenn wir diese Option jedoch nicht festlegen, sind die Informationen weiterhin in der Sitzungsstatistikdatei verfügbar. Lesen Sie mehr über diese Option im Statistikabschnitt der Mannseite.

Und das -Fernschema Mit Flag können uns eine alternative Methode zur Verbindung zu einem Remote -Computer angeben.

Beginnen wir nun mit dem Erstellen einer Backup.Sch Skript auf dem Backup -Server 192.168.56.10 folgendermaßen:

# CD ~/bin # VI Backup.Sch 

Fügen Sie der Skriptdatei die folgenden Zeilen hinzu.

#!/bin/bash #This ist ein RDIFF-Backup-Dienstprogramm Backup-Skript #backup-Befehl rdiff-backup-Print-Statistics-Remote-Schema 'SSH -c %s "sudo/usr/bin/rdiff-backup--server- -Rectrict-Read nur/"'[E-Mail geschützt] ::/var/logs/backups/192.168.56.102_logs.Zurück #Checking rdiff-Backup-Befehls Erfolg/Fehlerstatus = $? Wenn [$ Status != 0]; Dann #Append Fehlermeldung in ~/backup.Protokolldatei Echo "rdiff -backup beenden Code: $ status - Befehl erfolglos" >> ~/Backup.Protokoll; Ausgang 1; fi #remove inkrementelle Sicherungsdateien älter.168.56.102_logs.zurück 

Speichern Sie die Datei und beenden Sie und führen Sie den folgenden Befehl aus, um das Skript dem Crontab auf dem Backup -Server hinzuzufügen 192.168.56.10:

# Crontab -e 

Fügen Sie diese Zeile hinzu, um Ihr Backup -Skript täglich um Mitternacht auszuführen:

0 0 * * * */root/bin/backup.sh> /dev /null 2> & 1 

Speichern Sie den Crontab und schließen Sie es, jetzt haben wir den Sicherungsprozess erfolgreich automatisiert. Stellen Sie sicher, dass es wie erwartet funktioniert.

Lesen Sie die RDIFF-Backup-Mannseite durch, um weitere Informationen, umfassende Nutzungsoptionen und Beispiele zu erhalten:

# MAN RDIFF-BACKUP 

rdiff-backup homepage: http: // www.Nongnu.org/rdiff-backup/

Das war es fürs Erste! In diesem Tutorial haben wir Ihnen gezeigt, wie Sie rdiff-backup installieren und im Grunde genommen verwenden, ein benutzerfreundliches Python-Skript für lokale/remote-inkrementelle Sicherungen unter Linux. Teilen Sie uns Ihre Gedanken über den Feedback -Abschnitt unten mit.