Leser: 1
![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
sub check_quota { my $hash_ref=shift; my (@users,@list); my %hash; #print Dumper($hash_ref); for my $user (keys %$hash_ref) { push(@users, $user); } my @repq_h=grep { #print $_,"\n"; if($_ =~ m{^([A-Za-z0-9]+)}) { my $word=$1; push(@{$hash{$word}},$_); grep $word,@users; } } qx{repquota -a}; print Dumper(\@repq_h); }
Duff+2008-07-23 20:27:49--Ich befürchte, ich benötige nochmals Hilfe.
Ich will nun mit dem Vorhanden Hash (mit den Usernamen aus der /etc/passwd) alle Zeilen aus repquota -a ermitteln, in denen der Username vorkommt.
betterworld+2008-07-24 14:32:54--Kann man zwar recht leicht von Hand machen, aber zur Not hilft immer List::Compare.
QuoteIch möchte alle Zeilen der user aus dem Ausdruck repquota -a, die auch in der /etc/passwd stehen.
Duff+2008-07-25 07:47:13--Weiß schon nicht, wie ich am besten den Shell-Befehl abspeichere?
1 2 3 4 5
# adjust path to executable my $cmd = '/bin/repquota -a'; # execute command and fetch its output in @output my @output = qx~ $cmd ~; # check $? if $cmd executed successfully
1 2 3 4 5 6 7 8 9 10 11 12 13 14
root@homer:~# repquota -a *** Report for user quotas on device /dev/mapper/lvm--raid--1-lv1 Block grace time: 7days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 192252 0 0 5 0 0 user1 -- 4 18874368 20971520 1 0 0 user2 -- 2440 18874368 20971520 7 0 0 user3 -- 4 18874368 20971520 1 0 0 user4 -- 111764 18874368 20971520 1060 0 0 root@homer:~#
1 2 3 4 5 6 7 8 9 10
my @output = `repquota -a`; { my $status = $? >> 8; local $" = "\n"; # " die "'repquota -a' returned bad status: $status\nOutput: @output" if $status; } splice( @output, 0, 5 ); my @user = grep { defined $_ } map { /^(\S+)/ ? $1 : undef } @output;
1 2
# vorrausgesetzt: my $passwd = parse_passwd( '/etc/passwd' ); @user = grep { exists $passwd->{$_} } @user;
![]() |
|< 1 2 >| | ![]() |
20 Einträge, 2 Seiten |