#!/usr/local/bin/perl # vfsv0 では repquota が passwd ファイル順に出力しないようだから、それを出力するようにしたスクリプト # repquota 部分はパスワード照合しないので、こっちのほうがうちの環境では速い # # Copyright(c) 2002 Yuumi # http://gochagocha.ribbon.to/ # gochagocha@ribbon.to # my $userDir = '/home/freeuser/'; my @passlist = `cat /etc/passwd`; my $d; my @dstat; my @quota_data; my @sort_quota_data; if( $ARGV[0] eq '' ){ print "USAGE:\n>rq.pl filesys\n"; exit; } my @ret = `/usr/sbin/repquota -uvn $ARGV[0]`; foreach $d ( @ret ){ if( $d =~ m|^#([0-9]*) *(.*)| ){ $quota_data[ $1 ] = $2; } } foreach $d ( @passlist ){ if( $d =~ m|^([a-z0-9]*):x:([0-9]*):| ){ my $_name = $1; my $_id = $2; my $_space = ' '; for( 1 .. ( 13 - length( $_name ))){ $_space .= ' '; } push @sort_quota_data , $1 . $_space . $quota_data[ $2 ]; } } foreach $d ( @sort_quota_data ){ print "$d\n"; }