md5sum -c: Neue Dateien zu Prüfsummendatei hinzufügen
Hallo, ich habe ein Verzeichnis mit wichtigen Dateien. Daher habe ich zu Prüfzwecken mit "md5sum * > .checksums.md5" die Checksummen gespeichert. Hin und wieder kommen Dateien hinzu, deren Checksumme zu eben dieser Datei hinzugefügt werden soll. Ich kann nun mittels "md5sum * > Dateiname" eine neue Datei erstellen und mittels diff prüfen, ob/welche Unterschiede es gibt. Ich kann die neuen Dateien der Reihe nach mit "md5sum Filename >> .checksums.md5" hinten anfügen, kann mir aber nie sicher sein, nicht irgend eine Datein vergessen zu haben. Denn mit "md5sum -c .checksums.md5" werden nur die dort hinterlegten Dateien geprüft. Ich habe dann mal eine Suchmaschine benutzt und nach "md5sum -C neue Dateien" und "md5sum -c new files" gesucht. Leider ohne Erfolg. Daher meine Frage: Gibt es eine halbwegs einfache Möglichkeit, automatisiert neue Dateien zu einer Prüfsummendatei hinzuzufügen? Gruß & Dank, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo,
ich habe ein Verzeichnis mit wichtigen Dateien. Daher habe ich zu Prüfzwecken mit "md5sum * > .checksums.md5" die Checksummen gespeichert. Hin und wieder kommen Dateien hinzu, deren Checksumme zu eben dieser Datei hinzugefügt werden soll. Ich kann nun mittels "md5sum * > Dateiname" eine neue Datei erstellen und mittels diff prüfen, ob/welche Unterschiede es gibt. Ich kann die neuen Dateien der Reihe nach mit "md5sum Filename >> .checksums.md5" hinten anfügen, kann mir aber nie sicher sein, nicht irgend eine Datein vergessen zu haben. Denn mit "md5sum -c .checksums.md5" werden nur die dort hinterlegten Dateien geprüft. Ich habe dann mal eine Suchmaschine benutzt und nach "md5sum -C neue Dateien" und "md5sum -c new files" gesucht. Leider ohne Erfolg. Daher meine Frage:
Gibt es eine halbwegs einfache Möglichkeit, automatisiert neue Dateien zu einer Prüfsummendatei hinzuzufügen?
Gruß & Dank, Alex
Hallo Alex, wie wärs mit z.B. for f in `find -name PATTERN -type f`; do f=${f:2} if ! grep $f checksums.md5; then md5sum $f >>checksums.md5 fi done Wolfgang -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Wolfgang, hallo Leute, Am Sonntag, 17. Februar 2013 schrieb hamann.w@t-online.de:
Gibt es eine halbwegs einfache Möglichkeit, automatisiert neue Dateien zu einer Prüfsummendatei hinzuzufügen?
wie wärs mit z.B.
for f in `find -name PATTERN -type f`; do f=${f:2} if ! grep $f checksums.md5; then md5sum $f >>checksums.md5 fi done
Das wäre zu einfach ;-) Ich simuliere das mal mit zwei Demo-Zeilen und prüfe, ob "bar" schon enthalten ist: ( echo 'foo 123' ; echo 'foobar 345' ) | grep bar foobar345 Ist jetzt die Datei "bar" schon in der checksums-Liste oder nicht? ;-) Sprich: Entweder die Regex richtig kompliziert machen - ein Anfang ist wohl (ungetestet, Quoting fehlt auch noch!) ^$f [0-9a-f]{32}$ oder einfach die kompletten md5sums neu berechnen lassen (ob das Sinn macht, entscheidet die Verzeichnisgröße ;-) Gruß Christian Boltz -- Wenn das Teil unter Windows CE oder Pocket PC 2000 läuft, ist Synce Dein Fall. Zu finden auf Sourceforge, wenn ich mich nicht irre, und ich irre mich nie wenn ich mich nicht irre. [Michael Karges in suse-linux] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Danke für Eure Antworten! Am 17.02.2013 19:42, schrieb Christian Boltz:
Hallo Wolfgang, hallo Leute,
Am Sonntag, 17. Februar 2013 schrieb hamann.w@t-online.de:
Gibt es eine halbwegs einfache Möglichkeit, automatisiert neue Dateien zu einer Prüfsummendatei hinzuzufügen? wie wärs mit z.B.
for f in `find -name PATTERN -type f`; do f=${f:2} if ! grep $f checksums.md5; then md5sum $f >>checksums.md5 fi done Also folgendes liefert mir die Dateien des Verzeichnisses ohne "./" auf der Konsole:
for f in `find`; do f=f{f:2} echo $f done und zwar so, wie sie sich auch in der Datei mit den Checksummen wiederfinden. Jetzt dachte ich, dass der Zusatz an Zeile 3: if ! grep $f '.checksum.md5'; then echo $f fi mir nur die nicht in der Datei vorhandenen Dateien anzeigen sollte. Das hätte eigentlich schnell gehen sollen. Allerdings hängt sich das irgendwie/irgendwo auf. Also _insgesamt_ sieht das bei mir im Moment so aus: for f in `find`; do f=f{f:2} if ! grep $f '.checksum.md5'; then echo $f fi done Wo liegt mein Denkfehler, außer dass Zeile 4 ("echo $f") natürlich später "md5sum $f >> .checksum.md5" heißen muss? Gruß, Alex -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
for f in `find -name PATTERN -type f`; do f=${f:2} if ! grep $f checksums.md5; then md5sum $f >>checksums.md5 fi done Also folgendes liefert mir die Dateien des Verzeichnisses ohne "./" auf der Konsole:
for f in `find`; do f=f{f:2} echo $f done
und zwar so, wie sie sich auch in der Datei mit den Checksummen wiederfinden. Jetzt dachte ich, dass der Zusatz an Zeile 3:
if ! grep $f '.checksum.md5'; then echo $f fi
mir nur die nicht in der Datei vorhandenen Dateien anzeigen sollte. Das hätte eigentlich schnell gehen sollen. Allerdings hängt sich das irgendwie/irgendwo auf. Also _insgesamt_ sieht das bei mir im Moment so aus:
for f in `find`; do f=f{f:2} if ! grep $f '.checksum.md5'; then echo $f fi done
Wo liegt mein Denkfehler, außer dass Zeile 4 ("echo $f") natürlich später "md5sum $f >> .checksum.md5" heißen muss?
Hallo Alex, also an Verankern hatte ich tatsächlich nicht gedacht.... grep "^$f " und gegen das Hängenbleiben würde ich mal find -type f probieren, nicht dass irgendwo ein fifo oder ähnliches Ungetüm da seine Scherze treibt Wolfgang -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 17.02.2013 um 18:21 schrieb Alex Winzer
ich habe ein Verzeichnis mit wichtigen Dateien. Daher habe ich zu Prüfzwecken mit "md5sum * > .checksums.md5" die Checksummen gespeichert.
Möglicherweise erfüllt tripwire eher Deine Bedürfnisse? Rainer-- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (4)
-
Alex Winzer
-
Christian Boltz
-
hamann.w@t-online.de
-
Rainer Sokoll