So installierst du Rsnapshot Linux Backup auf Rocky Linux 9

Rsnapshot ist ein Sicherungsprogramm für Linux-basierte Rechner. Es ist für die meisten Linux-Distributionen verfügbar und kann einfach über den Paketmanager installiert werden. rsnapshot ist in Perl geschrieben und unterstützt lokale und entfernte Backups.

Mit rsnapshot kannst du ein Backup deines lokalen Verzeichnisses erstellen. Für das Remote-Backup nutzt rsnapshot „ssh“ und „rsync“.

In dieser Anleitung erfährst du, wie du Rsnapshot auf dem Rocky Linux 9 Server installierst und konfigurierst. Außerdem erfährst du, wie du mit Rsnapshot und Cron ein automatisches Backup erstellst.

Voraussetzungen

Bevor du beginnst, solltest du sicherstellen, dass du Folgendes hast:

  • Einen Rocky Linux 9 Server
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten

Installieren von Rsnapshot

Rsnapshot ist ein Backup-Dienstprogramm für das Unix-ähnliche Betriebssystem. Auf RedHat-basierten Distributionen kannst du Rsnapshot über das EPEL (Extra Packages for Enterprise Linux) Repository installieren. In diesem Schritt fügst du also das EPEL-Repository zu deinem System hinzu und installierst dann Rsnapshot.

Führe zunächst den folgenden Befehl aus, um das EPEL (Extra Packages for Enterprise Linux) Repository zu deinem Rocky Linux Server hinzuzufügen. Gib„Y“ ein, um das Hinzufügen des EPEL-Repositorys zu bestätigen.

sudo dnf install epel-release

epel-release hinzufügen

Sobald EPEL hinzugefügt ist, führst du den Befehl „dnf“ aus, um das Paket „rsnapshot“ zu installieren. Gib„Y“ ein, um die Installation zu bestätigen.

sudo dnf install rsnapshot nano firewalls

rsnapshot installieren

Nachdem die Installation abgeschlossen ist, überprüfe den Speicherort der Binärdatei und die Version von „rsnapshot“ mit dem unten stehenden Befehl.

which rsnapshot
rsnapshot --version

In der unten stehenden Ausgabe siehst du, dass„rsnapshot1.4.5 im Verzeichnis„/usr/bin/rsnapshot“ installiert ist.

rsnapshot prüfen

SSH für Remote Backup konfigurieren

Um ein Remote-Backup mit Rsnapshot über SSH durchzuführen, musst du eine schlüsselbasierte Authentifizierung für deine Server konfigurieren. Stelle sicher, dass du dich von deinem Rsnapshot-Server aus per SSH-Schlüssel am Zielserver anmelden kannst. In diesem Schritt erzeugst du einen SSH-Schlüssel auf dem Rsnapshot-Server und lädst dann den öffentlichen Schlüssel auf den Ziel-Backup-Server hoch.

Führe auf deinem Rocky-Linux-Server den Befehl„ssh-keygen“ aus, um neue SSH-Schlüssel zu erzeugen.

ssh-keygen -t ed25519
  • Drücke ENTER, um den Schlüssel am Standardspeicherort im Verzeichnis„~/.ssh“ zu speichern.
  • Drücke zweimal ENTER, wenn du nach der Passphrase gefragt wirst.

Schlüssel erzeugen

Führe nun den Befehl„ssh-copy-id“ aus, um deinen SSH-Schlüssel auf den Zielcomputer hochzuladen. In diesem Beispiel werden wir einige Daten vom Server„192.168.10.50“ mit„rsnapshot“ auf unserem Rocky Linux Server sichern.

ssh-copy-id user@192.168.10.50

Gib dein Passwort ein, wenn du dazu aufgefordert wirst. Nach dem Hochladen kannst du dich ohne Passwort auf dem Zielserver anmelden und Rsnapshot einrichten.

ssh-copy-id Schlüssel hochladen

Einrichten von Rsnapshot für lokale und entfernte Datensicherung

Nachdem du die SSH-Schlüssel-Authentifizierung konfiguriert hast, kannst du nun Rsnapshot einrichten. In diesem Beispiel richtest du das Backup-Verzeichnis, die Backup-Reserven und die lokalen Dateien ein und erstellst dann ein Remote-Backup über SSH.

Sichere die Standardkonfiguration „/etc/rsnapshot.conf“ und ändere sie mit dem Editor „nano“.

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf

Füge den Zielpfad für dein Backup zur Option„snapshot_root“ hinzu. In diesem Beispiel werden alle Backups im Verzeichnis„/data/backup“ gespeichert.

snapshot_root /data/backup/

Entferne die Kommentare bei den Optionen„cmd_rsync„,„cmd_ssh„,„cmd_du“ und„cmd_rsnapshot_diff„. Achte darauf, dass der Pfad jedes Befehls korrekt ist.

cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh
cmd_du /usr/bin/du
cmd_rsnapshot_diff /usr/bin/rsnapshot_diff

Ändere die Standardkonfiguration „retain“ in die folgende. Die Namensgebung ist optional, du kannst sie nach Bedarf ändern. In diesem Beispiel werden mit„retain daily 6“ neue Backup-Verzeichnisse„daily.0“ bis„daily.5“ erstellt.

retain daily 6
retain weekly 7
retain monthly 4

Deaktiviere die Option„logfile„, um die Protokollierung für Rsnapshot zu aktivieren.

logfile /var/log/rsnapshot.log

Dekommentiere die Option„ssh_args„, um einen zusätzlichen SSH-Befehl zu übergeben. Vor allem, wenn du SSH an einem nicht standardisierten Port verwendest.

ssh_args -p 22

Ändere nun die„backup„-Konfiguration so, dass das lokale Verzeichnis „/home/arvdl“ gesichert wird.

backup /home/arvdl/ local

Für ein Remote-Backup über SSH verwendest du eine Konfiguration wie die folgende. In diesem Beispiel sichern wir die Verzeichnisse„/etc“ und„/var/www“ vom Server„192.168.10.50“ auf den Rsnapshot-Server. Achte außerdem darauf, dass du den richtigen SSH-Benutzer mit SSH-Schlüssel-Authentifizierung verwendest.

backup alice@192.168.10.41:/etc/ rocky9
backup alice@192.168.10.41:/var/www rocky9

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe abschließend den Befehl „rsnapshot“ aus, um deine Konfiguration zu überprüfen. Wenn du richtig konfiguriert hast, siehst du die Ausgabe„Syntax ist OK„.

rsnapshot configtest

Konfiguration prüfen

Testen der Datensicherung mit Rsnapshot

Jetzt hast du Rsnapshot konfiguriert und ein Backup für lokale und entfernte Server erstellt. Jetzt erstellst du das Backup mit Rsnapshot manuell über die Befehlszeile „rsnapshot“. Außerdem überprüfst du die Größe des Backups und die Rsnapshot-Logdatei.

Um ein manuelles Backup zu erstellen, führst du den Befehl„rsnapshot“ aus, gefolgt von dem Namen der Speicherung, z. B.„täglich„. Dadurch wird eine neue Sicherung im Verzeichnis„snapshot_root“ erstellt.

rsnapshot daily

Überprüfe das Verzeichnis„snapshoot_root„, um sicherzustellen, dass dein Backup erstellt wurde. In diesem Beispiel ist das „snapshot_root“-Verzeichnis„/data/backup„.

ls /data/backup

Führe nun den Befehl„rsnapshot“ aus, um die Größe deines Backups zu überprüfen. Im folgenden Beispiel ist die einzige Sicherung unserer Dateien„3MB„.

rsnapshot du

rsnapshot der

Schließlich kannst du auch die Rsnapshot-Protokolldatei „/var/log/rsnapshot“ überprüfen, um Informationen über die Rsnapshot-Vorgänge zu erhalten.

cat /var/log/rsnapshot

Prüfprotokoll

Automatisches Backup mit Rsnapshot und Cronjob

In diesem letzten Abschnitt erfährst du, wie du mit Rsnapshot und Cronjob ein automatisches Backup einrichtest. Auf diese Weise wird der Befehl„rsnapshot“ regelmäßig und automatisch per Cronjob ausgeführt.

Erstelle eine neue Cron-Konfigurationsdatei„/etc/cron.d/snapshot“ mit dem folgenden„nano„-Editor.

sudo nano /etc/cron.d/rsnapshot

Füge die unten stehende Konfiguration ein, um eine crontab für Rsnapshot einzurichten. Im folgenden Beispiel führst du den „rsnapshot täglich“, den „rsnapshot wöchentlich“ und den „rsnapshot monatlich“ aus.

# Backup on daily
0 0 * * * root rsnapshot daily

# Backup on weekly
0 0 * * 0 root rsnapshot weekly

# backup monthly
0 0 1 * * root rsnapshot monthly

Speichere die Datei und beende den Editor, wenn du fertig bist.

Fazit

Herzlichen Glückwunsch! Du hast die Installation und Konfiguration von Rsnapshot auf dem Rocky Linux 9 Server abgeschlossen. Außerdem hast du den grundlegenden Befehl „rsnapshot“ kennengelernt und erfahren, wie du mehrere Rsnapshot-Retaines einrichtest, wie du mit Rsnapshot über SSH ein Remote-Backup durchführst und wie du mit Rsnapshot und Cronjob ein automatisches Backup einrichtest.

Das könnte dich auch interessieren …