Um einen entfernten Linux Server zu sichern bietet sich das Programm "rsync" an. rsync ist in der Lage ist, beim Sichern nur die geänderten Daten zu übertragen. Damit sparen wir Bandbreite bei der Übertragung der Daten. Im Hinblick auf die Sicherheit macht es Sinn die Übertragung mittels SSH-Tunnel zu verschlüsseln. Da Backup`s in der Regel automatisiert werden, bietet SSH die Möglichkeit der Nutzung von SSH-Keys. Somit muss man sich nicht mit SSH Passwörtern umherschalgen.
Die Einrichtung von SSH Keys ist simple und geht ganz fix. Anbei ein Beispiel:
cd /home/user/.ssh ssh-keygen -t rsa -f backup-system 2x (Enter) drücken
Nun sollten im .ssh Verzeichnis zwei Dokumente mit dem Namen backup-system (Geheimer Key) und backup-system.pub (Öffentlicher Key) erstellt worden sein. Zur Übertragung der Keys kann man den Befehl scp nutzen. Der öffentliche Schlüssel wird auf das Zielsystem mit dem gleichen Username übertragen.
scp /home/user/.ssh/backup-system.pub user@server:~/.ssh ssh user@server cd ~/.ssh cat backup-system.pub >> ~/.ssh/authorized_keys rm backup-system.pub
Die Übertragung der Daten kann mit folgendem Befehl erfolgen:
rsync -avrz -e 'ssh -p 22 -i /home/user/.ssh/backup-system.pub' --progress directory/* user@server:~/directory/
Damit ist die Einrichtung von rsync komplett und kann nun mit dem obigen Befehl dann getestet werden. Zusätzlich kann man das obige Kommando dazu nutzen via crontab die Datensicherung zu automatisieren. Fertig. ;)