X-Git-Url: http://git.pippins.net/embedvideo/.git/?a=blobdiff_plain;f=zfs-snapshot-totals;h=be223d94e7720e50bcec02a67ffc37653aaceedf;hb=e27e0c7b91fd87d322736b79974f5488490dd20f;hp=09abb7457660aa3f4e4b967bad9afea27fcb78a2;hpb=1a36d88c652470f2cf55ab51dbd3f06fb6402f5a;p=zfs-nexenta%2F.git diff --git a/zfs-snapshot-totals b/zfs-snapshot-totals index 09abb74..be223d9 100755 --- a/zfs-snapshot-totals +++ b/zfs-snapshot-totals @@ -5,11 +5,12 @@ $kilo = 1024; $mega = 1024 * 1024; $giga = 1024 * 1024 * 1024; +$maxlen = 0; sub adjust_size { my ($size) = @_; - if($size > ($giga)) { $size = int($size / $giga); $size = "$size"."G"; } + if($size > ($giga)) { $size = $size / $giga; $size = sprintf("%2.2fG",$size); } elsif($size > ($mega)) { $size = int($size / $mega); $size = "$size"."M"; } elsif($size > ($kilo)) { $size = int($size / $kilo); $size = "$size"."K"; } return $size; @@ -21,6 +22,7 @@ foreach $snapshot (@snapshots) if($snapshot =~ /(\S+)\@(\S+)\s+(\S+)\s+/) { $filesystem = $1; $size = $3; + if(length($filesystem) > $maxlen) { $maxlen = length($filesystem); } if($size =~ /k/i) { $size = $size * $kilo; } if($size =~ /m/i) { $size = $size * $mega; } if($size =~ /g/i) { $size = $size * $giga; } @@ -29,18 +31,19 @@ foreach $snapshot (@snapshots) } } -printf "%-30s %-15s %-10s\n","ZFS Filesystem","Snapshots Size","Num Snapshots"; -printf "%-30s %-15s %-10s\n","--","--","--"; +$maxlen=$maxlen+2; +printf "%-${maxlen}s %-15s %-10s\n","ZFS Filesystem","Snapshots Size","Num Snapshots"; +printf "%-${maxlen}s %-15s %-10s\n","--","--","--"; foreach $key (sort keys %totals) { $size = $totals{$key}{size}; $total_size += $size; $total_snapshots += $totals{$key}{snapshots}; $size = &adjust_size($size); - printf "%-30s %-15s %-10s\n", $key, $size, $totals{$key}{snapshots}; + printf "%-${maxlen}s %-15s %-10s\n", $key, $size, $totals{$key}{snapshots}; } $total_size = &adjust_size($total_size); -printf "%-30s %-15s %-10s\n","--","--","--"; -printf "%-30s %-15s %-10s\n","Total Snapshots",$total_size,$total_snapshots; +printf "%-${maxlen}s %-15s %-10s\n","--","--","--"; +printf "%-${maxlen}s %-15s %-10s\n","Total Snapshots",$total_size,$total_snapshots;