derwowusste
Goto Top

Suche Checksummenvergleich mit Exclude-Möglichkeit

Hallo Admins!

Ich überwache die Checksummen (sha1) eines Verzeichnisses. Ich weiß, dass sich einige Dateien ändern und möchte diese von der Überprüfung ausschließen - dies leistet mein Programm (Jacksum - http://www.jonelo.de/java/jacksum/index_de.html ) leider nicht.

Kennt jemand ein ähnliches Programm, das ausschließen kann?

Content-Key: 167512

Url: https://administrator.de/contentid/167512

Ausgedruckt am: 29.03.2024 um 12:03 Uhr

Mitglied: Snowman25
Snowman25 06.06.2011 um 13:17:51 Uhr
Goto Top
Hallo @DerWoWusste,

Jacksum hat doch auch eine offene API. Diese könntest du verwenden, um deinen eigenen kleinen Algorithmus zu schreiben, wo du schon vor dem Vergleich die veränderlichen Daten ausschließt.

Gruß
Snow
Mitglied: DerWoWusste
DerWoWusste 06.06.2011 um 13:19:55 Uhr
Goto Top
Hi.
Trau ich mir nicht zu. Schüttelst Du sowas zufällig aus dem Ärmel?
Mitglied: Snowman25
Snowman25 06.06.2011 um 14:21:56 Uhr
Goto Top
Ich nehme an, du checkst über Batch? Dann sollte es ein eher kleines Problem sein.
BTW steht das hier in der Hilfe:
    -c Liste      Check list. Ueberprueft die Datenintegritaet anhand einer
                  Liste. Bei der Liste handelt es sich typischerweise um eine
                  von Jacksum erzeugte Ausgabe. Idealerweise handelt es sich
                  um eine Liste, die mit der Option -m erzeugt wurde.
                  Es koennen aber auch Listen fremder Programme verarbeitet
                  werden. In diesem Fall sind alle erforderlichen Parameter
                  anzugeben, die die gleiche Ausgabe erzeugen koennen.
                  Der Parameter -F wird ignoriert.
                  Um Dateien von der Ueberpruefung auszuschliessen, koennen
                  Zeilen in der Liste geloescht werden.
                  Seit Jacksum 1.3.0, siehe auch -l -I und -m
Soll heißen: Dateien, die nicht in der Liste vorkommen, werden ignoriert.
Eine solche Liste lässt sich mit dem Parameter -m erstellen:
    -m            Metainfo. Gibt vor der eigentlichen Verarbeitung zusaetzliche
                  Zeilen aus. Sie enthalten u. a. die Information der
                  verwendeten Programmoptionen. So laesst sich die Ausgabe von
                  Jacksum spaeter wieder als Eingabe mit Hilfe der Option -c
                  ohne weitere Parameter spezifizieren zu muessen, verwenden.
                  Per Default wird der Tabulator als Trennzeichen
                  fuer die Ausgabe benutzt, Angaben mit -F werden ignoriert.
                  Seit Jacksum 1.3.0, siehe auch -c
Mach eine Kopie des Verzeichnisses, das du überwachen möchtest, lösche die Daten raus, die sich ändern und
führe dann jacksum -a sha-1 -m <weitere Optionen> * >liste.jacksum auf dem Verzeichnis aus.
Dann kannst du einfach über jacksum -c liste.jacksum den Check durchführen und anhand des ERRORLEVELs prüfen, ob der check insgesamt erfolgreich war.
EXIT STATUS
    0  - alles ist in Ordnung
    1  - es gab mindestens eine Nichtuebereinstimmung waehrend einer
         Ueberpruefung
    >1 - im Falle eines Parameter-, .jacksum- oder I/O-Fehlers

Gruß
Snow
Mitglied: DerWoWusste
DerWoWusste 06.06.2011 um 15:03:47 Uhr
Goto Top
Mach eine Kopie des Verzeichnisses, das du überwachen möchtest
Das wird nichts. Es ist das Windowsverzeichnis.

Klar, ich arbeite über eine Batch und ich könnte die erzeugte Liste bearbeiten - jedoch sind die auszuschließenden Dateien nicht fest, sondern veränderlich unter einem festen Ordner. Ich kann mir bislang also nur vorstellen, per Kommandozeile Zeilen, die mit c:\windows\Ausschlussordner beginnen, rauszulöschen... leider gelingt das nicht so einfach, da die Checksumme und der Dateiname in die nächste Zeile umgebrochen wird, also so:
C:\windows\winsxs\x86_microsoft-hyper-v-g..installer.resources_31bf3856ad364e35_6.1.7601.17514_de-de_c0ee98bae01d6206:
af0289504945ef801668691477c4fa7fc876368e setup.exe.mui

Ich hab mir beholfen, indem ich mit einem Kommandozeilenersetzer die Ausgabedatei vor dem Versenden per Mail (was nur geschieht, wenn sie nicht leer ist) bearbeitet habe und alle Dateien, die verändert werden dürfen rausnehme. Leider kommen da immer neue hinzu.

Ich muss mal schauen, was passiert, wenn ich einfach die Pfadnamen des Ordners mit den veränderlichen Dateien rauslösche.
Melde mich dann nochmal.
Mitglied: miniversum
miniversum 07.06.2011 um 21:18:03 Uhr
Goto Top
dir "%windir%" /B /S | findstr /v "%windir%\Ausschlussordner">Dateiliste.txt
Mitglied: DerWoWusste
DerWoWusste 08.06.2011 um 16:14:27 Uhr
Goto Top
Hi miniversum.

Ja, das ist ein einfacher und naheliegender Workaround. Hätte ich selbst drauf kommen können... Vielen Dank!