Festplatte auf Änderungen überwachen



  • Ich will ein Programm schreiben, mit dem ich zu jeder Datei Metadaten speichern kann. Diese will ich in eine Datenbank schreiben. Damit ich die Metadaten richtig zuordnen kann, muss ich ja aufpassen, was mit den Dateien auf der Festplatte geschieht (damit wenn ich eine Datei umbenannt wird, die Metadaten immer noch richtig verknüpft sind)

    Dazu sind mir folgende Wege eingefallen:

    Die überall verfügbare, rechenleistungsintensive Bruteforcemethode:
    Bei jedem Programmstart geh ich die Festplatte durch, gleich die Dateinamen und den Zeitpunkt der letzten Änderung mit der Datenbank ab. Bei unbekannten Dateien überprüf ich via Hashwert, ob die Dateien nicht doch schon in der Datenbank sind.

    Mit FindFirstChangeNotification() und co:
    Jede Änderung die auf der Festplatte geschieht, übertrag ich in die Datenbank. Nachteil: das Programm muss immer laufen und wenn wenn die Festplatte in einem anderen Rechner steckt, können die Änderungen nicht nachvollzogen werden. Sollte aber überall funktionieren.

    Die NTFS Journal Einträge:
    Das wär die schönste Möglichkeit, da das Programm nicht immer laufen muss und die Änderungen auch vom Computer unabhängig gespeichert werden.
    Nachteil: zum Auslesen der Einträge braucht man Adminrechte und naja NTFS.

    Kennt jemand eine gute Seite wo die NTFS Journal Einträge genauer beschrieben werden? Die MSDN Seite ist da nicht sehr ausführlich.
    Oder fallen euch noch andere eventuell bessere Methoden zum File Tracking ein?

    Viele Grüße, Caster



  • Das beste wäre wohl ein File-System-Filter-Treiber...



  • Das Beste wäre sich ein realistischeres Projekt zu suchen 🙂



  • hustbaer schrieb:

    Das Beste wäre sich ein realistischeres Projekt zu suchen 🙂

    Wenn jeder so denken würde, hätten wir heute viereckig Räder an unseren Autos

    🤡


Anmelden zum Antworten