Linux: Backup zwischen Servern mit rsync (via SSH)

Installieren Sie auch beiden Server (Datenquelle und Ziel) das Programm "rsync". Auch auf dem Zielcomputer muss diese Software installiert sein, da dieser natürlich das Protokoll verstehen muss:

apt-get install rsync

Vorbereitung des zu sichernden Servers (Datenquelle)

Erzeugen Sie auf der Datenquelle (dem zu sichernden Computer) einen DSA Schlüssel. Führen Sie dafür den folgenden Befehl als Benutzer "root" aus:

ssh-keygen -t dsa

Bestätigen Sie bei den Rückfragen den Dateinamen für den Schlüssel und das Verschlüsselungspasswort jeweils mit Enter.

Anschließend finden Sie auf dem Computer die beiden folgenden Dateien:

  • /root/.ssh/id_dsa
    Privater DSA Schlüssel. Dieser darf nicht weitergegeben oder veröffentlicht werden
  • /root/.ssh/id_dsa.pub
    Öffentlicher DSA Schlüssel. Dieser wird später auf den Backup-Server kopiert

Vorbereitung des Sicherungsservers (Datenziel)

Erstellen Sie einen neuen Benutzer "remotebackup"

useradd -m remotebackup

... und vergeben Sie ein geheimes Passwort für diesen Benutzer:

passwd remotebackup

Sie dürfen aus Sicherheitsgründen dem Benutzer "remotebackup" keine Root-Rechte geben. Jedoch wird für das Ausführen des rsync Programmes dieses Recht benötigt - u.a. um alle Verzeichnisse lesen zu können. Zum Lösen dieser Situation nutzen wir das Programm "visudo":

visudo

Fügen Sie die folgende Zeile in der angezeigten Datei hinzu ...

remotebackup ALL=(root)NOPASSWD:/usr/bin/rsync

... und beenden Sie die Eingabe durch Drücken der "ESC" Taste. Geben Sie dann "wq" ein und drücken Sie die "Enter" Taste. Die Änderung wird gespeichert.

Im nächsten Schritt erlauben wir dem zu sichernden Server die automatisch Anmeldung am Zielserver. Dafür nutzen wir die automatische, schlüsselbasierte Authentifizierung per SSH. Dabei muss der zu sichernde Server automatisch die Gültigkeit des übergebenen DSA Schlüssels überprüfen können.

Erstellen Sie auf dem Ziel-Server das Verzeichnis "/home/remotebackup/.ssh" - sofern es noch nicht existieren sollte:

su remotebackup
mkdir ~/.ssh
chmod 700 ~/.ssh

Fügen Sie den öffentlichen DSA-Schlüssel (s.o.) an das Ende der Datei "/home/remotebackup/.ssh/authorized_keys" ein:

cd ~/.ssh
ssh -l root [IP Quell-Server] cat /root/.ssh/id_dsa.pub >> authorized_keys

chmod 600 authorized_keys

Sollte dieser Weg nicht funktionieren, können Sie natürlich auch die Datei per "scp" kopieren und den Inhalt dann manuell anfügen.

Im letzten Schritt für eine automatische SSH Authentifizierung müssen Sie die entsprechende Option in der Datei "/etc/sshd/sshd_config" aktivieren:

PubkeyAuthentication yes

Testen Sie die automatische Authentifizierung:

ssh -l remotebackup [IP Quell-Server]

Datensicherung (Skripte)

Die beiden Server sind vorbereitet. Auf dem Quell-Server legen Sie nun bitte die Datei "/root/rsync-excludes.conf" an. Diese enthält alle Verzeichnisse, welche nicht gesichert werden sollen. Dabei werden auch deren Unterverzeichnisse nicht gesichert.

/cdrom
/dev
/lost+found
/proc
/sys
/tmp

Erstellen Sie das Backupscript "/usr/local/bin/backup.sh":

#!/bin/sh
echo "Starte Server-Backup .."
BACKUPDIR=/
TARGETUSER=remotebackup
TARGETDIR=/home/remotebackup/backup_`date +'%Y-%m-%d'`
EXCLUDES=/root/rsync-excludes.conf
BACKUPSERVER=[IP Ziel-Server]
rsync -avz --numeric-ids -e ssh --delete --delete-excluded --stats --exclude-from="$EXCLUDES" $BACKUPDIR $TARGETUSER@$BACKUPSERVER:$TARGETDIR
echo "Backup beendet."

Vergessen Sie bitte nicht, im vorherigen Script die IP (oder den Hostnamen) des Ziel-Servers einzusetzen. Danach machen Sie das Skript bitte ausführbar:

chmod a+x /usr/local/bin/backup.sh

Script testen

Testen Sie die Datensicherung des Servers durch das manuelle Starten des Scriptes:

backup.sh

Automatische Datensicherung (Batch / CronJob)

Um die Datensicherung (Serverkopie) automatisch jeden Morgen um 4 Uhr zu starten, fügen Sie in der Datei "/etc/crontab" die folgende Zeile ein:

0 4 * * * root /usr/local/bin/backup.sh

Dieser Artikel hat Dir geholfen ?
.. und Dir nerviges Ausprobieren, Suchen und Zeit erspart ?

Dann würde ich mich sehr freuen, wenn Du diese werbefreie Hilfeseite mit einer kleinen Anerkennung unterstützen würdest.
Vielen Dank !
PayPal Donate QR Code

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

zwei + 4 =