Open Source im professionellen Einsatz

Aus dem Alltag eines Sysadmin: Rsnapshot

Gezielter Fernschuss

Das Prinzip von Rsnapshot ist nicht neu: Rsync und SSH kopieren zu sichernde Daten zyklisch auf einen anderen Rechner, inkrementelle Backups liegen platzsparend hinter Hardlinks. Die Funktionsvielfalt und das simple Setup suchen aber ihresgleichen.

Rsnapshot [1] legt seine Backup-Schüsse platzsparend ab, indem es nur in konfigurierbaren Abständen, etwa monatlich, ein vollständiges Backup anfertigt. Die täglichen, inkrementellen Sicherungen dazwischen verbrauchen viel weniger Platz auf dem Zielrechner. Die dazu benutzte Rotationslogik macht exzessiv Gebrauch von Hardlinks. Das Prinzip ist nicht neu, auch das Linux-Magazin hat es schon in[2] beschrieben.

Rsnapshot arbeitet wie seine Mitstreiter unter der Motorhaube mit SSH und Rsync - beide sind auch die einzigen Voraussetzungen für sein reibungsloses Funktionieren. Zur Installation auf meinem Testrechner, der unter Slackware 10 läuft, wähle ich den 89 KByte kleinen Tarball. DEB- und RPM-Pakete liegen unter[1] ebenfalls zum Download bereit. Nach den folgenden Kommandos ist das Perl-Programm schon installiert:

tar xvzpf rsnapshot-1.1.6.tar.gz
cd rsnapshot-1.1.6
./configure --sysconfdir=/etc
su
make install

Ich kopiere die Musterkonfigurationsdatei per

cp /etc/rsnapshot.conf.default 
/etc/rsnapshot.conf

und entferne dann noch das Kommentarzeichen vor:

#cmd_cp   /bin/cp

Diese Option ist wegen der Kompatibilität zu BSD-Systemen auskommentiert. Ohne Kommentar ist GNU »cp« im Spiel und damit etwas mehr Funktionalität. Jetzt konfiguriere ich die Abstände, in denen Rsnapshot zu Werke gehen soll. Zunächst möge es einmal täglich sichern und die Backups nach sieben Tagen wegwerfen:

interval  daily   7

Vier Wochen sind kein Tag

Jetzt kommen mir sieben Tage Haltezeit zu kurz vor, ich will aber nicht noch mehr tägliche Backups. Darum konfiguriere ich einige wöchentliche Backups hinzu, beispielsweise eins, das Rsnapshot vier Wochen aufheben muss:

interval  weekly  4

Die Trennzeichen in der Konfigurationsdatei müssen Tabulatoren sein. Die tägliche Sicherung soll um 23 Uhr starten, die wöchentliche an jedem Sonntag um 3 Uhr nachts. Ich füttere die Crontab mit:

0 23 * * * /usr/local/bin/rsnapshot
0 3 * * 0 /usr/local/bin/rsnapshot

Rsnapshot will noch das Wichtigste wissen: Welche Daten es sichern soll. Mein Homeverzeichnis an eine andere Stelle des gleichen Filesystems, das ist einfach:

backup   /home/   localhost/backups/

Eine Sicherheitskopie auf derselben Platte hat ihren Namen jedoch nicht verdient, denn Festplatten - zumindest die in meinem Besitz - sind auch bei artgerechter Haltung suizidal veranlagt. Das Backup remote hinterlegen bringt die Daten in ruhige Hände. Mein Fileserver hat die IP 10.0.0.140. Der Eintrag lautet:

backup   /home/   
charly@10.0.0.140:/backups/

Voraussetzung ist ein funktionierender SSH-Zugang zum Fileserver.

Das sind die Basics, das Programm kennt noch viele drehenswerte Schräubchen. Die erstklassige Manpage und das Howto[1] beschreiben zum Beispiel In- und Excludes und das Backup laufender Datenbanken. Ich wünsche freies Schnappschussfeld. (jk)

Infos

[1] Rsnapshot: [http://www.rsnapshot.org]

[2] Peer Heinlein, "Snapshot-Backups mit Rsync": Linux-Magazin 09/04, S. 72

Der Autor

Charly Kühnast administriert Unix-Betriebssysteme im Rechenzentrum Niederrhein in Moers. Zu seinen Aufgaben gehören die Sicherheit und Verfügbarkeit der Firewalls und der DMZ (demilitarisierte Zone). In seiner Freizeit lernt er Japanisch, um endlich die Bedienungsanleitung seiner Mikrowelle lesen zu können.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook