Rsnapshot
Ist ein Programm zur effizienten, weil inkrementellen, Datensicherung.
Eigenschaften
- Ein Vorteil von rsnapshot, das wiederum auf rsync basiert, ist, dass die unveränderten Dateien und Verzeichnisse nur einmal gesichert werden.
- In allen weiteren Snapshots wird lediglich ein Hardlink auf die vorhandene Datei gesetzt.
Installation
# apt install rsnapshot
Dateisystem des Zielmediums
- Inkrementelles Backup und verwendet hierfür sogenannte Hardlinks.
- Dadurch muss jede unveränderte Datei nur einmal gesichert werden.
- Gängige Linux-Dateisysteme, z. B. ext3, ext4, unterstützen solche Links.
- FAT-Dateisysteme hingegen scheiden aus.
Installation
Hier als root direkt am Backupserver oder über SSH auf Backupserver schalten, dann rsnapshot installieren:
# apt install rsnapshot
Konfiguration
Config-Datei öffnen
- Z.B. mit dem Editor vi.
vi /etc/rsnapshot.conf
Speicherort festlegen
Unter # All snapshots will be stored under this root directory
kann der Speicherort für Snapshots festgelegt werden.
/var/cache/rsnapshot
Durch Wegnahme # werden Einstellungen/Änderungen scharf geschaltet, durch Hinzufügen von # stumpf/abgeschaltet.
Aufbewahrungszeitraum festlegen
Weiter sollte der Aufbewahrungszeitraum festgelegt werden, zu finden unter # Backup Levels/Intervals.
retain alpha 6 retain beta 7 retain gamma 4 retain delta 12
Bezeichnungen aus der Standard-Config aus Verständnisgründen ändern.
- alpha = hourly
- beta = daily
- gamma = weekly
- delta = monthly
Hinweis: Den Abstand zwischen Begriff und Zahl mit der TAB-Taste herstellen, sonst werden Leerzeichen als Zeichen interpretiert. Einfach die Syntax mit rsnapshot configtest prüfen.
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
Diese werden unter Backup Points definiert.
###Backuppoints ##Localhost backup /home/ localhost/ backup /etc/ localhost/ backup /usr/local/ localhost/
Nach Änderungen testen, ob Syntax der Konfiguration weiterhin funktioniert
# rsnapshot configtest
Anwendung
Ausführen 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.
Manuell ausführen
- Hier z.B. weekly:
# rsnapshot weekly
Automatisch ausführen
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 wird cron verwendet.
cron
Die cronjobs müssen festgelegt werden.
cron-Konfigurationsdatei öffnen
# crontab -e
# 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.
Aufrufen eines bestimmten Backups
Das Backup von vor vier Wochen, falls rsnapshot schon vier Wochen läuft, findet man dann unter:
/var/cache/rsnapshot/weekly.1/localhost/
Aufrufen aller bisher erstellten Snapshots
# ~/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
Die neuesten Backups der jeweiligen Intervalle haben dabei immer die Erweiterung 0.
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.