Hallo, ich habe ein Problem mit meinem Fileserver auf Basis von openSUSE 11.4 mit Samba. Der stürzte gestern Nacht ab. Die Ursachen suche ich noch. Jetzt habe ich Dateien gefunden, die leer sind. Leer bedeutet dabei aber keine 0-Byte-Dateien, sondern Dateien, mit einer bestimmten Größe, die früher Daten enthalten. Die Größe ist das einzige, was erhalten geblieben ist. Der Inhalt besteht jetzt aber bloß noch aus lauter Nullen. Mit einem Hex-Editor sieht das z.B. so aus: 00000000 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 00000010 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 Jetzt ist meine Befürchtung, dass es beim Absturz noch mehr Dateien erwischt hat, als die ich - weil ich sie gebraucht hätte - schon so gefunden habe. Natürlich habe ich ein Backup. Das mache ich aber bloß einmal die Woche und habe das heute bereits hinter mir. Dass die Dateien leer sind, habe ich genialer Weise erst danach festgestellt. Ich habe jetzt schonmal eine Suchmaschine benutzt. Allerdings werden mir da nur Befehle wie "find . -empty" angeboten. Es ist interessant, wie viele 0-Byte-Dateien man so auf dem System hat. Ich würde aber gern die Dateien finden, die nicht 0-Byte als Größe, sondern leere Bytes als Inhalt haben. Kann mir da jemand helfen? 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
Am Sonntag, 9. September 2012, 20:34:43 schrieb Alex Winzer:
Hallo,
ich habe ein Problem mit meinem Fileserver auf Basis von openSUSE 11.4 mit Samba. Der stürzte gestern Nacht ab. Die Ursachen suche ich noch.
Jetzt habe ich Dateien gefunden, die leer sind. Leer bedeutet dabei aber keine 0-Byte-Dateien, sondern Dateien, mit einer bestimmten Größe, die früher Daten enthalten. Die Größe ist das einzige, was erhalten geblieben ist. Der Inhalt besteht jetzt aber bloß noch aus lauter Nullen. Mit einem Hex-Editor sieht das z.B. so aus:
00000000 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 00000010 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00 │ 00 00 00 00
Jetzt ist meine Befürchtung, dass es beim Absturz noch mehr Dateien erwischt hat, als die ich - weil ich sie gebraucht hätte - schon so gefunden habe. Natürlich habe ich ein Backup. Das mache ich aber bloß einmal die Woche und habe das heute bereits hinter mir. Dass die Dateien leer sind, habe ich genialer Weise erst danach festgestellt. Ich habe jetzt schonmal eine Suchmaschine benutzt. Allerdings werden mir da nur Befehle wie "find . -empty" angeboten. Es ist interessant, wie viele 0-Byte-Dateien man so auf dem System hat.
Ich würde aber gern die Dateien finden, die nicht 0-Byte als Größe, sondern leere Bytes als Inhalt haben. Kann mir da jemand helfen?
Gruß & Dank, Alex
Hallo Alex, hast du eigentlich mal auf der Konsole mit "cat" in die Dateien reingeschaut? Ich meine jetzt direkt, ohne den Umweg über Samba. Vielleicht hat es ja nur Samba zerschossen, und die Dateien sind noch da. Ansonsten fällt mir im Moment nur ein Ansatz ein, den ich selbst als etwas ungeschickt empfinde, aber wenn sonst niemand etwas Besseres vorschlägt, probier doch mal: grep -E --regexp="\x0{10,}" * Erklärung: Suche in allen Dateien des aktuellen Verzeichnisses nach mindestens 10 aufeinanderfolgenden Hex 0. Falls du zu viele falsche Dateien angezeigt bekommst, könntest du die "10" evtl. noch erhöhen. Ist nur so eine erste Idee, vielleicht findest du mit man grep ja sogar noch eine bessere Lösung. Jürgen -- 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, Am Sun, 09 Sep 2012, Alex Winzer schrieb:
Ich würde aber gern die Dateien finden, die nicht 0-Byte als Größe, sondern leere Bytes als Inhalt haben. Kann mir da jemand helfen?
for file in *; do grep -qv '[^\000]' "$file" || echo "$file"; done HTH, -dnh -- Well I wish you'd just tell me rather than try to engage my enthusiasm. -- Marvin -- 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 10.09.2012 03:32, schrieb David Haller:
Hallo,
Am Sun, 09 Sep 2012, Alex Winzer schrieb:
Ich würde aber gern die Dateien finden, die nicht 0-Byte als Größe, sondern leere Bytes als Inhalt haben. Kann mir da jemand helfen?
for file in *; do grep -qv '[^\000]' "$file" || echo "$file"; done
Hallo zusammen, es wird Zeit für einen Einzeiler-Wettbewerb. ;-) @David: Das gibt mir auch false-positive Dateien zurück. Besser wäre das hier: # grep -rlP '^[\x00]+$' . HTH, -- Gruß Sebastian - openSUSE Member (Freespacer) Webseite/Blog: <http://www.sebastian-siebert.de> Wichtiger Hinweis zur openSUSE Mailing Liste: <http://de.opensuse.org/openSUSE:Mailinglisten_Netiquette> -- 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
-
David Haller
-
Juergen Langowski
-
Sebastian Siebert