Rsnapshot
Backup mit rsnapshot einfach und platzsparend erstellen
Konzept rsnapshot:
- 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).
- 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 erweitert rsync um Hard-Links, erst dadurch ist ein inkrementelles (nur veränderte Daten werden gespeichert) Backup möglich
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/.
rsnapshot weiß nicht, wann und wie es ausgeführt wird, sondern sorgt je nach Intervall dafür, dass Snapshots rotiert und Daten synchronisiert werden.
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.