Backup des Root-Dateisystems -Teils 1-

Im Gegensatz zur Sicherung der eigenen Benutzerdaten, lege ich hier andere Maßstäbe an. Hier verwende ich Generationen von Sicherungen. Worin unterscheiden sich einzelne Art der Sicherung?

Strategie

Ohne jetzt eine vollständige Abhandlung darüber zuschreiben, werden hier zwei typische Arten erwähnt: * Inkremetelle Sicherung * Differenzielle Sicherung

Der Unterschied liegt im Bezug der jeweiligen Art zur Vollsicherung. Bei der Inkementellen Sicherung bezieht sich jede inkrementelle Sicherung auf seinen Vorgänger: > Vollsicherung <— Inc1 <— Inc2 .... Diese Art braucht weniger Platz beim Sichern. Allerdings müssen alle inkrenetellen Sicherungen bei einer Rücksicherung zurück gespielt werden.

Anders die Differenzielle Sicherung. Hier beziehen sich alle Differenz-Sicherungen auf die Vollsicherung: > Vollsicherung <— Diff1 > Vollsicherung <— Diff2 > ... Diese Art verbraucht deutlich mehr Platz. Beim Restore braucht nur die Vollsicherung und die letzte differerenzielle Sicherung zurück gespielt werden.

Ausschluss von Verzeichnissen

Ein zweiter Aspekt ist, dass nicht alle Verzeichnisse gesichert werden dürfen. Ein Teil der Verzeichnisstruktur ist ein Spiegel des Linuxkernels und somit dynamisch:

/proc /run /srv /sys

Andere können externe Daten enthalten, die also nicht zur Sicherung des Rootdateisystems gehören oder an anderer Stelle gesichert werden:

/media /mnt /home

Nach einem Restore müssen diese Verzeichnisse von Hand angelegt werden.

Sicherungstool

Auch hier gibt es eine große Anzahl von Tools, die mehr oder weniger gut sind. Da ich ein Fan von “Bordmitteln” bin, verwende ich hier das alte und ehrwürde tar. Dieses Tool gibt es seit Anbeginn der Unixzeit und diente ursprünglich dazu, auf Bandgeräte zuzugreifen: Tape Archiver.

Vorgehensweise

Ohne Script wird es doch unübersichtlich. Also packen wir soviel wie möglich in Umgebungsvariable. Das ganze ist ein Ausschnitt aus einem Script. Wo sollen die Backups liegen? Das kann ein Share im Netz oder eine USB-Platte sein:

TARGET=“$ROOT/$BACKUPFILE-$LEVEL.$EXT”

Die Datei für die Zeitstempel des Kommandos tar

STAMPDAT=“$ADM/$BACKUPFILE-stamp.dat”

Mit welchen Optionen soll tar verwendet werden:

TAROPT=“—xattrs —xattrs-include=* —totals -g $STAMPDAT”

Hier müssen wir doch einmal kurz auf die einzelnen Parameter eingehen. Ein “RtfM” ist hier wirklich nicht angebracht.

—xattrs bzw. —xattrs-include

Neben den Unixrechten für Owner, Gruppe und Welt, gibt erweiterte Attribute, die man sich mit lsattr und Co ansehen und verändern kann. Diese zusätzlichen oder erweiterten Attribute von Dateien werden nur mit gesichert, wenn diese Optionen gesetzt sind. Es kann zu unerwünschten Seitenefekten kommen, sichert man sie nicht mit.

—totals

Gibt am Ende eine kurze Statistik aus. Kann man machen, muß man aber nicht.

-g $STAMPDAT

Hier wird die Datei angegeben, wo tar die Inkremente verwaltet.

Die Quellverzeichnisse:

QUELLE=“/vmlinuz* /initrd.img* /bin /boot /dev /etc /lib* /opt /root /run /sbin /tmp /usr /var”

Zum Schluß das gesamte Kommando:

tar $TAROPT —totals -g $STAMPDAT -czf $TARGET $QUELLE

Das ganze Script

Das Script legt eine Generation von Sicherungen über 14 Tage an. Wer an dem Script Interesse hat, wende sich über meine Kontaktdaten an mich. Über mich

Fazit

Wer das alles bis zu Ende verfolgt hat, stellt sich die Frage, wie sichert man so eine Sicherung zurück. Alle Welt will zurücksichern, aber keiner will sichern. Ein Backup taugt nur, wenn die Rücksicherung auch funktioniert. Bei einem Totalausfall eines Datenträgers zeigt sich die Wahrheit... Fehlen nur einzelne Dateien, wie auch immer, ist es nicht allzu schwierig, Daten zurück zuholen. Wie auch immer, ob mit tar, rsync oder einem anderen Tool, erstelltem Datenträger, muss man einen neuen Datenträger zu Schluß bootfähig machen. Dazu mehr im nächsten Teil...