Website-Suche

Rsnapshot: Ein Rsync-basiertes Backup-Dienstprogramm für Linux


Rsnapshot ist ein Open-Source-Backup-Dienstprogramm für lokale/entfernte Dateisysteme, das in Perl geschrieben wurde und die Leistungsfähigkeit von Rsync und SSH nutzt, um geplante inkrementelle Backups von Linux/Unix-Dateisystemen zu erstellen.

Rsnapshot nimmt nur den Speicherplatz eines einzigen vollständigen Backups plus die Unterschiede ein, sodass Sie Backups auf einem lokalen Laufwerk, einem externen USB-Stick, einem NFS-gemounteten Laufwerk oder über das Netzwerk über SSH auf einem anderen Computer speichern können.

In diesem Artikel führen wir Sie durch den Prozess der Installation, Einrichtung und Verwendung von Rsnapshot, um stündliche, tägliche, wöchentliche und monatliche lokale Backups sowie Remote-Backups zu erstellen.

Installieren von Rsnapshot Backup unter Linux

Zuerst müssen Sie das EPEL-Repository (Extra Packages for Enterprise Linux) installieren und aktivieren, da Rsnapshot in RHEL-basierten Distributionen nicht standardmäßig enthalten ist.

sudo dnf install epel-release
sudo dnf install rsnapshot

Auf Ubuntu-basierten Distributionen ist rsnapshot in den Standard-Repositories verfügbar, sodass Sie es mit dem apt-Paketmanager installieren können:

sudo apt install rsnapshot

Nach der Installation können Sie die Installation überprüfen, indem Sie die Version überprüfen.

rsnapshot -v

Einrichten der passwortlosen SSH-Anmeldung

Um Linux-Remoteserver zu sichern, müssen Sie SSH für die kennwortlose Anmeldung zwischen dem Backup-Server und dem Remotecomputer konfigurieren.

Generieren Sie öffentliche/private SSH-Schlüsselpaare, indem Sie die folgenden Befehle befolgen:

ssh-keygen -t rsa

Kopieren Sie als Nächstes den öffentlichen Schlüssel auf den Remote-Server:

ssh-copy-id user@remote-server

Konfigurieren von Rsnapshot unter Linux

Die Konfigurationsdatei für rsnapshot befindet sich in /etc/rsnapshot.conf, öffnen Sie diese Konfigurationsdatei mit einem Texteditor wie nano oder vim:

sudo nano /etc/rsnapshot.conf
OR
sudo vi /etc/rsnapshot.conf

Zu den wichtigen Einstellungen, die Sie konfigurieren müssen, gehören:

Snapshot-Backup-Verzeichnis

Um das Verzeichnis festzulegen, in dem Ihre Backups gespeichert werden, müssen Sie die snapshot_root Zeile in der Konfigurationsdatei bearbeiten.

snapshot_root   /data/backup/

Festlegen von Sicherungsintervallen

Rsnapshot unterstützt mehrere Sicherungsintervalle wie täglich, wöchentlich und monatlich. Sie können festlegen, wie oft Sie Ihre Sicherungen durchführen möchten, indem Sie die folgenden Zeilen auskommentieren:

interval    hourly    6
interval    daily     7
interval    weekly    4
interval    monthly   3

Festlegen von Sicherungsverzeichnissen

Um lokale Verzeichnisse zu sichern, fügen Sie die Verzeichnispfade hinzu.

backup    /home/     localhost/
backup    /etc/      localhost/

Geben Sie für Remotesicherungen den Remoteserver und das Verzeichnis an, die gesichert werden sollen, wie folgt:

backup    root@remote-server:/home/     /data/backup/

Aktivieren von Remote-Backups

Um Remote-Backups über SSH zu aktivieren, kommentieren Sie die cmd_ssh Zeile aus:

cmd_ssh    /usr/bin/ssh

Wenn Sie den Standard-SSH-Port geändert haben, aktualisieren Sie die Zeile ssh_args, um den benutzerdefinierten Port widerzuspiegeln (z. B. Port 7851):

ssh_args    -p 7851

Dateien und Verzeichnisse ausschließen

Sie können bestimmte Dateien und Verzeichnisse von der Sicherung ausschließen, indem Sie eine Ausschlussdatei erstellen.

sudo nano /data/backup/exclude.txt

Fügen Sie Ausschlüsse im folgenden Format hinzu:

- /var/cache
- /tmp
+ /etc
+ /home

Verweisen Sie in der Datei rsnapshot.conf auf die Ausschlussdatei:

exclude_file    /data/backup/exclude.txt

Überprüfen Sie nach der Konfiguration von Rsnapshot, ob Ihr Setup korrekt ist, indem Sie Folgendes ausführen:

sudo rsnapshot configtest

Es sollte die Meldung "Syntax OK" angezeigt werden. Wenn Fehler auftreten, beheben Sie diese, bevor Sie fortfahren.

Schließlich können Sie Rsnapshot manuell ausführen, indem Sie den Befehl für das Intervall verwenden, das Sie sichern möchten:

sudo rsnapshot hourly

Automatisieren von Rsnapshot mit Cron

Um den Sicherungsprozess zu automatisieren, konfigurieren Sie Cronjobs so, dass Rsnapshot in bestimmten Intervallen ausgeführt wird, indem Sie Folgendes zu Ihrer Datei /etc/cron.d/rsnapshot hinzufügen:

0 */4 * * *    root    /usr/bin/rsnapshot hourly
30 3 * * *     root    /usr/bin/rsnapshot daily
0 3 * * 1      root    /usr/bin/rsnapshot weekly
30 2 1 * *     root    /usr/bin/rsnapshot monthly

Einrichten von Rsnapshot-Berichten

Rsnapshot enthält ein Skript zum Senden von Backup-Berichten per E-Mail. Um es einzurichten, kopieren Sie das Skript, und machen Sie es ausführbar:

sudo cp /usr/share/doc/rsnapshot/utils/rsnapreport.pl /usr/local/bin/
sudo chmod +x /usr/local/bin/rsnapreport.pl

Bearbeiten Sie nun Ihre Datei rsnapshot.conf und fügen Sie dem Abschnitt rsync_long_args das Flag --stats hinzu:

rsync_long_args --stats --delete --numeric-ids --delete-excluded

Fügen Sie dann den Bericht zu Ihrem Cronjob hinzu, um den Bericht per E-Mail zu versenden:

0 */4 * * * root /usr/bin/rsnapshot hourly 2>&1 | /usr/local/bin/rsnapreport.pl | mail -s "Hourly Backup Report" [email 

Überwachen von Rsnapshot-Sicherungen

Sie können Ihre Sicherungen überwachen, indem Sie die Protokolldateien überprüfen. Standardmäßig protokolliert Rsnapshot Sicherungsaktivitäten in /var/log/rsnapshot.log.

cat /var/log/rsnapshot.log
Schlussfolgerung

Rsnapshot ist eine ausgezeichnete Wahl für die Verwaltung von Backups auf Linux-Systemen. Dank der effizienten Nutzung von rsync können Sie Ihre Dateien problemlos lokal und remote sichern.

Verwandte Artikel: