Erster Testlauf des Backup-Servers

zurück zur LC2ool Backup Seite

Die erste Konfiguration des Backup-Servers ist nun abgeschlossen und der erste Durchlauf der Backup-Software ist über Nacht geschehen.

Ein Blick auf in den Backup-Ordner zeigt folgendes:

test_110a

Es gibt drei Kategorien vom Ordnern im Ordner „/BACKUP“:

  • ALC_BACKUP/[HOSTNAME]_[DATUM] : Hier landen die gepackten Vollbackups.
  • MONTHLY-BACKUP-[Jahr]-[Monat] : Hier sind die Drop-Outs für einen Monat
  • RSYNC/[HOSTNAME] : Hier befindet sich der RSYNC-Cache pro Rechner (Host)

Soweit sieht das erstmal gut aus

— Anmerkung : Die angezeigten Dropouts sind von vorhergehenden manuellen Tests —

Zum Ablauf des Backups:

30 1    * * *   root    /RSYNC/FILE_RSYNC.pl &
0  2    * * *   root    /usr/local/sbin/FILE_BACKUP_2009_006.pl &

Wie die zwei Einträge in der /etc/crontab vermuten lassen besteht die Erstellung des Backups aus zwei getrennten Teilen:

  • FILE_RSYNC.pl : den Client-Anteil der Backup-Erstellung
  • FILE_BACKUP_2009_006.pl : den Server-Anteil des Backups

test_111

FILE_RSYNC.pl läuft auf dem Client (was in diesem Fall der Backup-Server selbst ist) und befüllt den, auf dem Backup-Server liegenden, RSYNC-Cache. Die Konfiguration wird der Konfigurations-Tabelle der Backup-Datenbank entnommen und die eigentliche Kernfunktion sieht folgender Maßen aus:

# rsync [Optionen] [Filter] [Quellordner Backup-Client] [Zielordner Backp-Server]

Dem Filter –filter=‘-p \@eaDir‘ musste ich einfügen, da die Metadaten-Ordner auf meiner NAS zu Hause ein ‚@‘-Zeichen enthalten und das leider ein reserviertes Zeichen in Perl-Skripten ist. Es gab also sehr unschöne Effekte. Den Filter kann man ggf. natürlich noch auf seine eigenen Bedürfnisse anpassen.

Das Skript FILE_RSYNC.pl dient also nur dazu die zu sichernden Daten möglichst schnell vom dem oder den produktiven Server(n) auf den eigentlichen Backup-Server zu synchronisieren. Dieses kann auch über eine WAN-VPN-Leitung erfolgen, allerdings muss man dann ggf. etwas mehr Vorlauf einplanen und den Cron-Job für FILE_RSYNC.pl vorverlegen.

FILE_BACKUP_2009_006.pl ist das eigentlichen Backup-Skript und läuft ausschließlich auf dem Backup-Server. Das Skript führt dabei nicht selbst das Backup aus, sondern erzeugt dynamsich ein Skript anhand der in der Konfigurations-Tabelle der Backup-Datenbank hinterlegten Einstellungen.

test_112

Im Skript kann man den Unterschied bei der Einstellungsoption „subfolder“ gut erkennen.

  • „no“ – sichert den kompletten angebenen Ordner in ein tar-Vollbackup
  • „yes“ – sichert die Unterordner des angebenen Ordners in mehrere tar-Vollbackups

test_113

Im obrigen Screenshot kann man erkennen, das nach der Erstellung der Vollbackups noch eine ganze Reihe anderer Skripte aufgerufen werden, die aber statisch hinterlegt sind:

  • insert_drops.pl : ermittelt die Drop-Outs anhand der Datenbank-Indices
  • extract_drops_untar_006.pl : Extrahiert die Drop-Outs aus den „alten“ Vollbackups
  • kill_old_backup.pl : Löscht die „alten“ Vollbackups
  • rsync sichert  /BACKUP/ nach /BACKUP-Archiver/BACKUP-STORAGE/

Das fertige dynamisch erzeugte Skript ist /tmp/RUN_BACKUP.pl und wird dann mittels eines kleinen Spawner-Skriptes /tmp/SPAWN_RUN_BACKUP.sh gestartet. Dieses ist notwendig, damit sich das Skript FILE_BACKUP_2009_006.pl beenden kann und nicht auf das Ende des Backups warten muss.

Um die volle Funktionalität zu entfalten sollte dann aber mehr als ein Lauf stattgefunden haben. Da diese Backup-Software fest darauf angelegt ist tagesweise zu laufen, heist es an dieser Stelle ein paar Tage zu warten und dann noch mal zu beobachten, ob alles geklappt hat.

Ich habe mich entschlossen noch die /home-Verzeichnisse der User zu sichern und trage die noch schnell mit phpmyadmin in der Konfigurations-Tabelle der Backup-Datenbank nach.

Wichtig dabei ist, natürlich als „Subfolder = yes“ und wenn man einen vorhanden Eintrag als Template benutzt, sollte man den natürlich „Als neuen Datensatz speichern“.

test_114 test_115

So, die Einstellungen sind fertig geändert und nun heißt es warten was beim nächsten Durchlauf passiert.

— Achtung: Bitte FILE_BACKUP_2009_006.pl nicht manuell antriggern! FILE_RSYNC.pl ist relativ unkritisch, wenn das Hauptbackup durchgelaufen ist–

So stay tuned !