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.