Zum Hauptinhalt springen

vServer: Backups von Linux Server mit Rsync anfertigen

Die Anleitung wurde mit folgenden Produkten erstellt:

(Einzelheiten können sich bei Produkten anderer Anbieter unterscheiden, die Grundkonzepte bleiben in der Regel unverändert)

Rsync:

Mithilfe von Rsync können Backups angefertigt werden. Sie können auf dem lokalen System selber z. B. in ein anderes Verzeichnis/Laufwerk kopiert werden oder auf ein Remote System.

Kopieren von Daten in ein anderes lokales Verzeichnis oder Laufwerk:

info

Achtung: Der erste Durchgang kann je nach Datenmenge deutlich länger dauern als weitere. Dies liegt daran, dass Rsync beim ersten Mal alle Daten synchronisiert, ab dem zweiten Mal werden nur noch veränderte Daten synchronisiert.

Es wird also dann ein inkrementelles Backup erstellt.

Schritt 1

Rsync kann mit folgendem Befehl installiert werden:

apt install rsync

Nachdem es installiert wurde, kann es direkt genutzt werden.

Schritt 2

In diesem Beispiel soll der Ordner "Client" unter /home in den Ordner "Backups" unter /home synchronisiert werden.

Das kann mit folgendem Befehl gemacht werden:

rsync -arz /home/Client /home/Backup

-a=Archivierung, die Attribute werden z. B. übernommen


-r=Rekursiv, Unterordner werden mit synchronisiert


-z=Komprimierung, je nach Datenmengen/Datengrößen wird komprimiert

Der Ordner wurde erfolgreich synchronisiert.

Wenn jetzt eine Datei etc. im Client Ordner gelöscht wird, so verbleibt sie weiterhin im Backup Ordner. Da das Datum aber immer 1:1 synchron sein sollen, kann der rsync Befehl leicht abgeändert werden, diese Änderung sorgt dann dafür, dass Daten etc. die im Client Ordner nicht mehr vorhanden sind auch im Backup Ordner entfernt werden.

Der leicht veränderte Befehl lautet:

rsync -arz --delete /home/Client /home/Backup

-a=Archivierung, die Attribute werden z. B. übernommen


-r=Rekursiv, Unterordner werden mit synchronisiert


-z=Komprimierung, je nach Datenmengen/Datengrößen wird komprimiert


--delete= Löscht Daten, die in der Quelle nicht mehr vorhanden sind, aber im Ziel noch bestehen

Schritt 3

Damit der Befehl nicht immer manuell ausgeführt werden muss, kann dieser einfach in ein Cronjob gesetzt werden. Es soll z. B. täglich um 3 Uhr Morgens ein Backup erstellt werden:

Crontab -e öffnen:

Mit der Ziffer 1 kann "nano" als Editor genutzt werden. Mit der Ziffer 2 kann "vim" als Editor genutzt werden.

Nachem die Datei z. B. mit Nano geöffnet wurde, kann ein Crontab generiert und eingetragen werden. Ein Crontab kann z. B. mit diesem Generator erstellt werden.

Der eingetragene Crontab sieht dann wie folgt aus:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

Jeden Tag um 3 Uhr morgens wird der Befehl ausgeführt und es wird ein Backup erstellt.