Hallo, Am Sam, 21 Okt 2006, Dirk Salva schrieb: >On Sat, Oct 21, 2006 at 10:20:40AM +0200, Andreas Pakulat wrote: >> > Hab ich mir schon gedacht. Da waren nur noch ".........." bzw. >> > "@@@@@@@" drin. Wenn ich wüßte, wie ich solche Dateien finden könnte, >> > wäre mir auch geholften. Die Statusdatei von logrotate hat es >> > beispielsweise auch getroffen... >> Keine Ahnung ob das mit find ginge aber mit grep saehe das so aus: >> grep -rl "\(@@@@@@@@\|\.\.\.\.\.\.\.\.\)" * > >Das probier' ich bei Gelegenheit mal aus. Was ich mit dem Beispiel >meinte: schaue ich mir den Inhalt einer defekten Datei mit dem mc >vermittels "F3" an, so sehe ich lauter Punkte. Gehe ich mit "F4" in den >editor, dann sehe ich lauter @-Zeichen. Die Dateien haben quasi die >gleiche Dateigrösse wie im intakten Zustand, bestehen aber fast nur >noch aus diesen Zeichen.
Die Dateien wurden wohl "ausgenullt", also mit 'ASCII NUL' ueberschrieben, das ist AFAIK das Standardverhalten von XFS wenn Defekte auftreten. ASCII NUL wird als '^@' (ein Zeichen) dargestellt. Du hast schon dein Dateisystem und die Festplatte (smartctl, badblocks) geprüft? Suchen kannst du z.B. mit awk '/\0\0\0\0\0\0+/{print "6 or more consecutive NUL found";}' Wenn du aber erst nach Dateien suchen willst ist perl noch ne Moeglichkeit: ==== #!/usr/bin/perl -w use strict; use File::Find::Rule qw(find); scalar @ARGV or push(@ARGV, "."); my @files = find( file => '!grep' => qr/[^\0]/, size => '>0', in => @ARGV ); print join("\n", @files), "\n"; 1; ==== Das findet nichtleere Dateien die nur[1] ASCII NUL enthalten, in den Verzeichnissen, die als Argumente uebergeben wurde oder (ohne Argumente) im aktuellen Verzeichnis. HTH, -dnh [1] bei nem Test hier fand das aber noch ne andere. Hm. -- 104: fork(2) New processes are created by other processes, just like new humans. New humans are created by other humans, of course, not by processes. (Unix System Administration Handbook) -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)