rdiff-backup – Die Linux TimeMachine

Hallo Leute,

ich suchte vor einiger Zeit lange nach einem geeigneten Backupsystem für unsere Linux IT Landschaft. Wir hatten damals bacula im Einsatz; dies hat uns überhaupt nicht zugesagt. Danach schrieb ich eigene Shell Backupscripts, was zwar funktionierte, aber sehr mühsam zu warten war und somit auch nicht ideal war.

Im Grunde waren folgende Punkte wichtig:

  • Inkrementelle Backups (Platz sparen bzw. Bandbreite sparen)
  • Voll automatisiert
  • Einfach und verständlich in der Konfiguration

im Grunde also eine Art “TimeMachine” für Linux. Durch Zufall stieß ich dann endlich auf rdiff-backup – dies war ein Heureka für mich. Zuletzt hatte ich das gefunden was ich seit Monaten suchte. Wir setzen rdiff-backup jetzt seit knappen 2 Jahren ein und waren nie glücklicher. Auch die schlechten Gefühle am Abend sind jetzt weg. Noch dazu verwenden wir mein “offsite-backup-script”.

rdiff-backup ist im Grunde eine Kombination aus rsync, ssh und einem klugen Shell Script.

Zur Installation

“rdiff-backup” muss auf dem Backupserver sowie auf dem zu sichernden Server installiert werden.

apt-get install rdiff-backup

das wars auch schon bezüglich Installation.

Konfiguration

Die Konfiguration ist kinderleicht und funktioniert auch leicht und übersichtlich wenn man mehrere Server sichern will.

Zuerst erstellt man einen SSH Key auf dem Backupserver (Server A) und fügt diesem auf dem zu sichernden Server (Server B) ein.

Danach erstellt man ein “ssh-konfiguration file” unter dem Benutzer der dann das Backup ausführen soll (in diesem Fall root):

vim /root/.ssh/config

Hier fügen wir dann alle Server im folgendem Format ein:

Host serverB
HostName serverB.example.com
Port 22
User root

danach die Datei speichern und schließen.

Nun solltet ihr auf dem Backup Server via

ssh serverB

auf den zu sichernden Server zu kommen (ohne Passwort und weitere Angaben). Funktioniert das können wir fortfahren.

Der letzte Schritt ist ein Script anlegen, welches “rdiff-backup” ausführt und die Backups macht:

vim /root/scripts/rdiff-backup.sh

#!/bin/bash

# Lokales Backup
rdiff-backup /etc /srv/backups/serberA/etc/

# Remote Backup
rdiff-backup serverB::/etc /srv/backups/serverB/etc

Das Script muss man natürlich an seine Anforderungen anpassen. Die Verzeichnisse müssen schon erstellt worden sein (/srv/backups/serverB/etc usw) ansonsten funktioniert “rdiff-backup” nicht.

Danach speichern und das Script ausführbar machen:

chmod +x /root/scripts/rdiff-backup.sh

und via

crontab -e
30 1 * * * sh /root/scripts/rdiff-backup.sh

als Cronjob hinzufügen. Ihr könnt das Script auch jederzeit manuell ausführen, danach findet ihr in eurem Backupverzeichnis immer die aktuellen Files sowie die Inkrementellen Files (diese müssen via einem Befehl wiederhergestellt werden)

Kleiner Tipp: Fügt “10 22 * * * dpkg -l > /etc/dpkg_list” in euren Contab hinzu, damit wisst ihr bei einem Totalausfall eures Servers immer genau welche Pakete/Libraries installiert waren und spart so viel Zeit beim Wiederherstellen.

Wiederherstellung

Zum Wiederherstellen eines Verzeichnisses könnt ihr entweder den Ordner auf wieder auf den Server kopieren (im Backupordner sind immer die aktuellsten Files) oder ihr verwendet den “rdiff-backup” Befehl dafür:

#Stellt ein aktuelles Backup wieder her
rdiff-backup -r now serverB::/etc /srv/backups/serverB/etc

#Stellt das Verzeichnis wieder her wie es vor 10 Tagen war
rdiff-backup -r 10D serverB::/etc /srv/backups/serverB/etc

Backups löschen die älter als X Tage sind

Falls ihr ältere Backups nicht mehr benötigt, dafür aber den Speicherplatz, könnt ihr mit

rdiff-backup --force --remove-older-than 12W /srv/backups/serverB/etc

alle Inkrementellen Daten löschen die älter als 12 Wochen sind.

Links

Hoffe ihr habt so viel Freude mit diesem Backupsystem wie ich es habe

peace
LEWIS

Flattr this!

(+1 rating, 1 votes)
  • MF

    Hast du dir schon mal BackupPC angesehen? Verwende ich seit Jahren, und bin damit immer noch schwer zufrieden.

    • datLewis

      War damals auch auf unsere Liste, haben uns aber für rdiff-backup entschieden da es weit aus einfacher zu konfigurieren und verwalten ist.

  • http://www.loggn.de/ _nico

    Ich kann BackupPC auch sehr empfehlen. ;-)