Im trauten Heim rettet Sysadmin Charly seine Daten seit jeher mit Rsnapshot. Für Serverbackups soll das auch so bleiben, für die Desktop-PCs der Familie Kühnast hat er etwas Handlicheres gefunden.
Backup muss sein, auch bei Desktop-PCs, auch zu Hause. In meinen vier Wände brauche ich aber kein professionelles Enterprise-Backup-Warehouse und verspüre auch keine Lust, die Lizenzkosten dafür zu zahlen. Ich sichere alles auf ein kleines Synology-NAS und dies wieder auf zwei große USB-Platten.
Auf dem NAS habe ich ein Verzeichnis namens »linbackup« freigegeben, darunter liegt ein Unterverzeichnis für jeden zu sichernden Rechner – aktuell 14 Stück. Die Kinder werden offenbar älter und beginnen wohl Hardware zu horten. Ich frag’ mich, von wem sie das haben. Ein Verzeichnis »gamelauncher« gibt es übrigens auch, dorthin sichere ich die Windows-Partition.
Um das Backup selbst kümmert sich seit Neuestem Backup2l [1], das ich in den vergangenen Tagen als schlanke Alternative zu Rsnapshot [2] ausprobiert habe. Backup2l läuft Cron-gesteuert und legt eine konfigurierbare Anzahl inkrementeller Backups an. Dafür sind in der Konfigurationsdatei »backup2l.conf« drei Parameter zuständig.
»MAX_LEVEL=3« bestimmt die Anzahl der Ebenen und »MAX_PER_LEVEL=8« die inkrementellen Backups pro Ebene. Konkret macht Backup2l stündlich inkrementelle Backups, das ist die niedrigste Ebene, Level 3. Hat es davon acht beisammen (»MAX_PER_LEVEL« ), fertigt es ein neues Level-2-Backup an, das alle Änderungen seit dem letzten Level-2-Backup speichert. Die Level-3-Backups werden gelöscht, und das Spiel beginnt von vorn.
Sind auch acht Level-2-Backups beisammen, erstellt Backup2l ein neues Level-1-Backup – das ist eine Komplettsicherung. Mit »MAX_FULL« , dem dritten Parameter, kann ich festlegen, wie viele Vollbackups zeitgleich existieren dürfen.
Rette sich, wer kann
Was Backup2l genau sichert, lege ich per SRCLIST fest:
SRCLIST=(/etc /root /home /var/ /usr/local)
Dabei kann ich Ausnahmen definieren. Backup2l unterscheidet hier zwischen Dateien (»-name« ) und Verzeichnissen (»-path« ). Mehrere Ausnahmen lassen sich per »-o« verketten:
SKIPCOND=(-path "*.nobackup*" -o-name "*.o")
Im »BACKUP_DIR« teile ich Backup2l mit, wohin es sichern soll:
BACKUP_DIR="/mnt/linbackup/funghi"
Liegt das Zielverzeichnis wie bei mir auf einem Netzlaufwerk, muss der Benutzer natürlich dafür sorgen, dass es rechtzeitig gemountet ist. Funghi ist in diesem Beispiel der Name meines Ubuntu-Testrechners. Ich benenne alle Desktop-Linuxe nach Pizza-Sorten, die Server dagegen nach schottischen Inseln – in beiden Welten lauert keine große Gefahr, dass mir die Namen alsbald ausgehen.
In der »backup2l.conf« gibt es zwei Abschnitte, »PRE_BACKUP« und »POST_BACKUP« , in denen ich Shellkommandos platzieren darf, die Backup2l vor und nach dem Backup-Lauf ausführt. Hier kann ich etwa dafür sorgen, dass bestimmte Dienste während des Backups gestoppt werden.
Am Ende teile ich dem Tool mit, dass mein Teil der Arbeit erledigt ist, indem ich »UNCONFIGURED« von »0« auf »UNCONFIGURED=1« setze. Nun sind Funghi, Tonno & Co. außer Gefahr.
Infos
- Backup2l: http://backup2l.sourceforge.net
- Rsnapshot: http://www.rsnapshot.org






