Verzeichnis historisch vergleichen
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:
- Index für ein Verzeichnis erstellen und speichern
- 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.