next up previous contents
Nächste Seite: Beispiel 1, sehr einfaches Aufwärts: Verwendung von storeBackup (Beispiele) Vorherige Seite: Verwendung von storeBackup (Beispiele)   Inhalt

Einige Informationen zu Beginn

Bevor hier einige Beispiele erläutert werden: Es ist nicht schlecht, wenn Du Dir darüber im Klaren bist, was Du tust und was passiert. Hier werden zuerst einige wichtige Aspekte darüber, wie storeBackup arbeitet, beschrieben. (Die folgenden Erklärungen betreffen die prinzipielle Abarbeitung; aus Gründen der Performance ist die Implementierung etwas anders. Es gibt diverse Warteschlangen, Parallelitäten und einen kleinen Scheduler in storeBackup.pl, die hier nicht beschrieben werden.)

storeBackup verwendet mindestens zwei interne zeilenorientierte Dateien in jedem erzeugten Backup:

.md5CheckSums.info - allgemeine Informationen über das Backup
.md5CheckSums[.bz2] - Information über jede gespeicherte Datei (dir, etc.)

Wenn storeBackup.pl gestartet wird, passiert (neben einigem anderen) Folgendes:

  1. Lies den Inhalt der vorherigen .md5CheckSums[.bz2]-Datei und speichere den Inhalt in zwei Indexdateien:
    dbm(md5sum) und dbm(filename). (dbm(md5sum) bedeutet, dass als Hash die md5-Summe verwendet wird, bei dbm(filename) ist es der Dateiname.) Standardmäßig werden diese Tabellen im Hauptspeicher gehalten.
  2. Lies den Inhalt der anderen .md5CheckSums[.bz2]-Dateien (otherBackupSeries) und speichere sie im Hash dbm(md5sum). Speichere immer die letzte Kopie in der dbm-Struktur, falls zwei unterschiedliche Dateien (z.B. von unterschiedlichen Backup-Serien) identisch sind. Dieses bewirkt, dass unterschiedliche Versionen derselben Datei aus unterschiedlichen Backups in künftigen Backups zusammengelegt werden.

Fazit:

  1. Lösche kein Backup, in dem die Hardlinks noch nicht gesetzt wurden. storeBackupUpdateBackup.pl erzeugt diese. Es ist eine gute Idee, zum Löschen von Backups ausschließlich storeBackup.pl oder storeBackupDel.pl zu verwenden.
  2. Die gemeinsame Verwendung von Plattenplatz über mehrere Backups erfolgt immer über Hardlinks. Das bedeutet:
  3. Die Informationen über ein Backup in den .md5CheckSums Dateien wird mit relativen Pfadnamen gespeichert. Es spielt daher keine Rolle, wenn Du den absoluten Pfad zum Backup änderst oder von einem anderen Rechner sicherst (Server macht Backup vom Client über NFS - Client macht Backup zum Server über NFS).
    (Noch) nicht gesetzte Hardlinks zu anderen Backup-Serien (über die Option lateLinks werden ebenfalls mit relativen Pfaden gespeichert. Das bedeutet: Da kannst backupDir verschieben wie Du willst, aber Du solltest niemals den relativen Pfad zwischen den Backup-Serien, ändern bevor alle Links mit storeBackupUpdateBackup.pl erzeugt wurden.

Wenn Du weitere Ideen oder Fragen hast, kannst Du mich gern kontaktieren (hjclaes(at)web.de).

Es ist eine gute Idee, die Konfigurationsdatei anstelle der Kommandozeile zu verwenden. Ruf einfach

# storeBackup.pl --generate <configFile>
auf.

Editiere die Konfigurationsdatei und rufe storeBackup.pl folgendermaßen auf:

# storeBackup.pl -f <configFile>

Du kannst die Einstellungen in der Konfigurationsdatei auf der Kommandozeile überschreiben (siehe Beispiel 6).


next up previous contents
Nächste Seite: Beispiel 1, sehr einfaches Aufwärts: Verwendung von storeBackup (Beispiele) Vorherige Seite: Verwendung von storeBackup (Beispiele)   Inhalt
Heinz-Josef Claes 2014-04-20