Problem

Ich habe eine Vollsicherung S1 mit Größe s1 von einem Verzeichnis mit hoher Volatilität, die Daten verändern sich häufig. Nun möchte ich eine zweite Sicherung mit tar machen und will wissen ob eine inkrementelle Sicherung mit tar -g kleiner und wenn ja wie viel kleiner als eine Vollsicherung ist.

Für die Betrachtung unterscheide ich nach CRUD in

  • neue Dateien - Insert
    • vergrößern Vollsicherung und inkr.Sicherung
    • Größe aller neuen Dateien si
  • veränderte Dateien - Update
    • vergrößern inkr.Sicherung
    • Größe aller veränderten Dateien su
    • Annahme: Größe bleibt verändertem Inhalt annährend gleich
  • gelöschte Dateien - Delete
    • verkleinern Vollsicherung und inkr.Sicherung
    • Größe aller gelöschten Dateien sd

Größe der neuen Vollsicherung s2 = s1 + si - sd

Größe der neuen inkr.Sicherung s2 = su + si - sd

si - sd können wir rausstreichen, da es in beiden Gleichungen auftaucht. Wir müssen also s1 mit su vergleichen.

Die Fragestellung lautet: Wie viel größer ist die Größe der ersten Sicherung im Vergleich zu allen geänderten Dateien?

Lösung

Bei jeder Vollsicherung kompletten Verzeichnisbaum mit Mod-Time und Größe speichern. Bei jeder folgenden Sicherung neuen Index erstellen und mit dem der letzten Vollsicherung vergleichen.

dui

Dafür hab ich das Werkzeug dui gebaut. dui steht für delete update insert. Es hat 2 Aufgaben:

  1. Index für ein Verzeichnis erstellen und speichern
  2. 2 Indizes miteinander vergleichen und Unterschiede (updates, inserts, deletes) zeigen.

Die Unterschiede sind entweder eine Liste aller Dateien die sich geändert haben oder eine Zusammenfassung. Für meine Entscheidung reicht mir die Zusammenfassung der Summe der Änderungen.

Code und Release

Der Code im Repository sieht noch etwas wild aus. Beta.