Heavy Rotation
Backups ziehen mit Rsnapshot
Bündel schnüren
Nun stellt sich die Frage: Welche Dateien wollen Sie sichern? Geht es um einen lokalen Ordner, lautet der Eintrag im Backup-Bereich der Konfigurationsdatei backup /home/daten/ lokal/. Rsnapshot sichert den Ordner /home/daten mit sämtlichen Dateien und Verzeichnissen im Ordner /home/backup/hourly.0/lokal.
Das kommt wie folgt zustande: Nach dem in der Variable snapshot_root festgelegten Verzeichnis erstellt das Tool zunächst ein nach dem festgelegten Intervalltyp benanntes Directory hourly.0. In diesem erzeugt Rsnapshot ein neues Unterverzeichnis lokal/, in dem sich der absolute Pfad zu den Quelldateien befindet.
Um eine einzelne Datei zu archivieren, genügt der Dateiname, wie die Zeile backup /home/bild.jpg lokal/ zeigt. Wollen Sie mehrere Verzeichnisse sichern, erweitern Sie die rsnapshot.conf einfach um die nötigen Backup-Zeilen (Abbildung 2). Um Dateien eines entfernten Rechners lokal zu sichern, brauchen Sie einen SSH-Zugang zum entfernten Rechner und tragen zum Beispiel backup user@remote.org:/home/user/daten/ remote/ in die rsnapshot.conf ein. Das setzt voraus, dass der Zugriff über SSH ohne Passwort erfolgt. Wie das funktioniert, zeigt der Kasten "SSH ohne Passwort".
SSH ohne Passwort
Im Beispiel sichern Sie den entfernten Rechner B auf Ihren Rechner A. Erzeugen Sie dazu auf A einen neuen Schlüssel über den Befehl ssh-keygen -t rsa und geben Sie als Dateiname einen Pfad, wie zum Beispiel /home/Username
/.ssh/id_rsa_backup ein. Er darf auf keinen vorhandenen Schlüssel zeigen. Beantworten Sie die zwei folgenden Fragen nach dem Passwort mit [Eingabe]. Anschließend finden Sie im Verzeichnis ~/.ssh die neuen Schlüssel id_rsa_backup und id_rsa_backup.pub.
Transportieren Sie den öffentlichen Schlüssel id_rsa_backup.pub von Rechner A nach Rechner B via Scp, Diskette oder USB-Stick. Stellen Sie sicher, dass niemand diesen währendessen manipuliert. Hängen Sie auf Rechner B über den Befehl cat id_rsa_backup.pub >> ~/.ssh/authorized_keys den Schlüssel an die Datei authorized_keys an, sodass dieser Rechner weiß, welchem privaten Schlüssel der Zugang erlaubt ist.
Fügen Sie auf Rechner A im Verzeichnis .ssh in der Datei config den folgenden Abschnitt an:
Host Rechner B IdentityFile ~/.ssh/id_rsa_backup
Jetzt klappt der passwortlose Zugriff von Rechner A auf Rechner B. Vorsicht: SSH erwartet, dass ausschließlich Sie Schreibrechte auf Ihr Home-Verzeichnis, auf das Verzeichnis .ssh sowie die privaten Schlüssel haben. Sonst bricht der Vorgang ab.
Trockenschwimmen
Bevor Sie einen Cronjob einrichten, der das Backup automatisiert, überprüfen Sie Ihre Einstellungen in der rsnapshot.conf und rufen das Programm manuell über das Kommando rsnapshot hourly auf. Klappt alles, erscheint nun unter /home/backup/ ein neuer Ordner hourly.0 – andernfalls verrät eine Fehlermeldung, was nicht funktioniert. Im Zweifelsfall haben Sie einen Ordner falsch benannt oder Leerzeichen statt Tabulatoren verwendet – solche Fehler passieren häufiger.
Funktioniert das Backup, richten Sie einen Cronjob ein: Das setzt voraus, dass der Cron-Daemon läuft. Sie starten ihn mit Root-Rechten über den Befehl:
/etc/init.d/cron start
Nutzer von Ubuntu und Suse legen eine Datei namens rsnapshot im Verzeichnis /etc/cron.d/ ab (Abbildung 3), die folgenden Eintrag enthält:
0 0,10,18 * * * root rsnapshot h↩ ourly
Debianer tragen diese Zeile in die Datei /etc/crontab ein. Der Eintrag sorgt dafür, dass Cron den Befehl rsnapshot hourly um 0, 10 und 18 Uhr ausführt. Um tägliche Sicherungen zu erreichen, kommentieren Sie auch den Eintrag für daily aus. Weitere Informationen zu Cron finden Sie im Web [3]. Nun heißt es "Fire & Forget": Läuft die automatische Sicherung einmal, kümmern Sie sich einfach nicht mehr darum – und sind froh wenn Sie das Backup mal brauchen.
Glossar
inkrementell
Sichert im Gegensatz zum Voll-Backup nur solche Dateien, die sich seit dem letzten Sicherungslauf geändert haben.
Infos
[1] Rsnapshot: http://www.rsnapshot.org
[2] Zu Rsync: Heike Jurzik, "Synchroner Datenstrom", LinuxUser 04/2006, S. 90, http://www.linux-user.de/ausgabe/2006/04/090-rsync/
[3] Zu Cron: Patricia Jung, "Diener auf die Minute", LinuxUser 12/2000, S. 80, http://www.linux-user.de/ausgabe/2000/12/080-cron/cron-1.html



