From c597b01166c4ac4d042c2256826b69c6fb0bc405 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Thu, 23 Oct 2008 19:52:30 +0200 Subject: first init --- frag.pl | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 frag.pl (limited to 'frag.pl') diff --git a/frag.pl b/frag.pl new file mode 100755 index 0000000..b8eb685 --- /dev/null +++ b/frag.pl @@ -0,0 +1,35 @@ +#!/usr/bin/perl -w + +#this script search for frag on a fs +use strict; + +#number of files +my $files = 0; +#number of fragment +my $fragments = 0; +#number of fragmented files +my $fragfiles = 0; + +#search fs for all file +open (FILES, "find " . $ARGV[0] . " -xdev -type f -print0 |"); + +$/ = "\0"; + +while (defined (my $file = )) { + open (FRAG, "-|", "filefrag", $file); + my $res = ; + if ($res =~ m/.*:\s+(\d+) extents? found/) { + my $fragment = $1; + $fragments += $fragment; + if ($fragment > 1) { + $fragfiles++; + } + $files++; + } else { + print ("$res : not understand for $file.\n"); + } + close (FRAG); +} +close (FILES); + +print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.\n"); \ No newline at end of file -- cgit v1.2.3-24-g4f1b