Rsnapshot

Aus Foxwiki

Allgemeines

rsnapshot läuft auf allen Unix-basierten Betriebssystemen und ist freie Software unter den Bedingungen der GPL.

Konzept

  • zu bestimmten Zeiten werden Snapshots von Daten erstellt und anschließend rotiert
Daten rotieren: Snapshots werden immer größer (Hecken, die immer weiter wachsen), deshalb lässt man sie rotieren (Hecke wird gestutzt), d.h. dass ältere Snapshots entnommen und archiviert, alte Snapshots gelöscht und neue angelegt werden (Speicherplatzökonomie). So entsteht ein vielstufiges Backup.
  • Datentransfer übernimmt rsync.
rsync = Dateien-Kopier-Werkzeug, hervorragend zum Spiegeln von Daten, netzwerkfähig (z.B. über SSH) – Nachteil: gelöschte Daten werden auch im Spiegel gelöscht
  • rsnapshot ist ein Wrapper von rsync und erweitert rsync um Hard-Links, erst dadurch ist ein inkrementelles (nur veränderte Daten werden gespeichert) Backup möglich.

Wichtig: Das Dateisystem auf der Backup-Festplatte muss Hardlinks unterstützen (z.B. ext3, ext4, NTFS, nicht aber NFS oder FAT).

Praxis

Hier als root direkt am Backupserver oder über SSH auf Backupserver schalten, dann rsnapshot installieren:

sudo apt-get install rsnapshot

danach rsnapshot konfigurieren, Config-Datei öffnen mit Befehl:

vi /etc /rsnapshot.conf


unter # All snapshots will be stored under this root directory kann Speicherort für Snapshot festgelegt werden,

hier: /var/cache/rsnapshot

Hinweis: Durch Wegnahme # werden Einstellungen/Änderungen scharf geschaltet, durch Hinzufügen von # stumpf/ab- geschaltet

Weiter sollte der Aufbewahrungszeitraum festgelegt werden, zu finden unter # Backup Levels/Intervals

retain         hourly  6
retain         daily   7
retain         weekly  4
retain         monthly 12

Hier wird festgelegt, wie viele Snapshots der jeweiligen Kategorie behalten werden, ehe der Älteste durch einen Neuen ersetzt wird. Hier wäre der Älteste z.B. 12 Monate alt.

Festlegen der zu sichernden Verzeichnisse/Backup Points:

zu finden unter:

###Backuppoints

##Localhost

backup		/home/		localhost/
backup		/etc/		localhost/
backup		/usr/local/	localhost/

Das Backup von vor vier Wochen, falls rsnapshot schon vier Wochen läuft, findet man dann unter: /var/cache/rsnapshot/weekly.1/localhost/.

Nach den Änderungen der Konfiguration kann man mit

rsnapshot configtest

testen, ob diese noch valide ist.


Ausführung von rsnapshot

rsnapshot weiß nicht, wann und wie es ausgeführt wird, sondern sorgt je nach Intervall dafür, dass Snapshots rotiert und Daten synchronisiert werden.


rsnapshot manuell ausführen, hier z.B. weekly:

sudo rsnapshot weekly


rsnapshot automatisch ausführen lassen:


Die Dienste cron (für durchgängig laufende Systeme) bzw. anacron (für immer mal wieder länger ausgeschaltete Systeme) sorgen deshalb für die regelmäßige Ausführung von rsnapshot.

Hier benutzen wir cron, d.h. die cronjobs müssen festgelegt werden

Befehl crontab -e als root@backupserver in bash eingeben.

# Minute Stunde Tag_im_Monat Monat Wochentag

0 * * * * 	rsnapshot hourly
10 9 * * * 	rsnapshot daily
20 9 * * 1	rsnapshot weekly
30 9 1 * *	rsnapshot monthly

Heißt hier, dass der daily-snapshot immer um 9:10 Uhr erstellt wird.

Die neuestenBackups der jeweiligen Intervalle haben dabei immer die Erweiterung .0. Das sieht dann so aus:

# ~/var/cache/rsnapshot ls -l
hourly.0 hourly.1 hourly.2 hourly.3 hourly.4
daily.0 daily.1 daily.2 daily.3 daily.4
weekly.0 weekly.1 weekly.2 weekly.3 weekly.4
monthly.0 monthly.1 monthly.2 monthly.3 monthly.4

Aus dem aktuellsten hourly-Snapshot des Tages macht rsnapshot das daily-Snapshot. Aus dem aktuellsten daily-Snapshot der Woche wird der weekly-Snapshot. Aus dem aktuellsten weekly-Snapshot des Monats wird der monthly-Snapshot.


weiterführende Links

rsnapshot.org Wikipedia Rsnapshot Wiki Ubuntuusers Rsnapshot Thomas Krenn Rsnapshot