Image-Typ-Backups haben mehrere Probleme:
- Sie können keine täglichen / inkrementellen Sicherungen durchführen
- Die meisten von ihnen können keine einzelne Datei oder einen Satz von Dateien extrahieren, von denen Sie feststellen, dass Sie sie gelöscht / überschrieben haben
- Sie können nicht auf einer Festplatte wiederhergestellt werden, die kleiner als das Original ist, selbst wenn genügend freier Speicherplatz vorhanden ist
- Das Wiederherstellen auf einer größeren Festplatte erfordert häufig zusätzliche Schritte, um den zusätzlichen Speicherplatz zu nutzen
Es ist am besten, sich an die bewährten Methoden zu halten: tar
und dump
. Ich verwende es, dump
weil es beim Sichern und Extrahieren einzelner Dateien viel schneller ist als tar und inkrementelle Sicherungen besser handhabt. Es wird auch Multithread-Komprimierung verwendet, was auf heutigen Multi-Core-Computern gut ist. In beiden Fällen müssen Sie beim Erstellen der Sicherung Ihre Dienste herunterfahren, um sicherzustellen, dass während der Sicherung keine Dateien geschrieben werden. Wenn Sie LVM verwenden, müssen Sie dies nur lange genug tun, um einen Snapshot zu erstellen. Anschließend können Sie Ihre Dienste wieder online schalten und den Snapshot sichern. Hier ist das Skript, das ich cron
jede Nacht automatisch ausgeführt habe:
#!/bin/bash
set -e
declare -a LEVELMAP=(1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5 1 5 4 5 3 5 4 5 2 5 4 5 3 5 4 5)
DATE=`date +%-d`
LEVEL=${LEVELMAP[$DATE-1]}
echo Performing a level $LEVEL dump
#shutdown services here
sync
lvcreate -s -n snap devserv/root -L 500m
#start them back up here
dump -$LEVEL -quz9 -b 1024 -f /backup/dump.$LEVEL /dev/mapper/devserv-snap
lvremove -f devserv/snap
Ich mache normalerweise alle ~ 6 Monate einen Dump der Stufe 0 (voll), wenn ich den Server aktualisiere. Dann erstellt dieses Skript am 1. und 17. des Monats einen Dump der Stufe 1 (alle Dateien wurden seit Stufe 0 geändert) und wechselt zwischen Stufe 2 -5 den Rest der Tage.
Dies bedeutet, dass ich zum Wiederherstellen des Systems höchstens 5 Speicherauszüge wiederherstellen muss, manchmal weniger (wenn der Server direkt nach dem Speicherauszug der Ebene 1 ausfällt, müssen Sie nur die Speicherauszüge der Ebenen 0 und 1 wiederherstellen), und ich habe mehrere Speicherauszüge, die sich über das System erstrecken In den letzten Tagen, Wochen, Monaten kann ich bei Bedarf eine alte Datei herausziehen, möglicherweise mehrere Versionen davon, da sie sich an verschiedenen Stellen geändert hat.
Wenn Sie nicht möchten, dass mehrere Punkte zurückgehen und ältere Dateien herausgezogen werden, besteht eine einfachere Alternative darin, alle 6 Monate eine Stufe 0, jeden Montag Stufe 1 und jeden zweiten Wochentag Stufe 2 durchzuführen.