1 #!/afs/athena/contrib/perl/perl
3 require "/moira/bin/afs_utils.pl";
6 # Nightly reaper - Recompute all usages/allocations.
9 local ($key, @vos, %used,%alloc,%total, %a);
10 local ($c,$as,$ap,$total,$used,$alloc);
12 if (open(TMP,"/afs/athena.mit.edu/service/afs_data")) {
21 ($c,$as,$ap,$type) = split(/\s+/,$_);
22 ($as) = gethostbyname($as);
25 $ap =~ s:^([^/]):/vicep\1:;
27 next unless ($as && $ap);
32 ($c2,$as2,$ap2) = split(/\s+/,$_);
33 print SRV $_ unless ($c eq $c2 && $as eq $as2 && $ap eq $ap2);
37 ($total, $used) = &afs_partinfo($as, $ap, $c);
41 open(VOS,"$vos listvol $as $ap -cell $c -long -noauth|");
46 while ($_ = shift(@vos)) {
47 next unless /On-line/;
48 local($vn,$id) = split(/\s+/, $_);
50 local($p,$p,$p) = split(/\s+/, shift(@vos));
51 local($q,$q,$q) = split(/\s+/, shift(@vos));
52 if ($id==$p || !$a{$p}) {
56 for $p (keys %a) { $alloc += $a{$p}; delete $a{$p}; }
60 print SRV "$c $as $ap $type $total $used $alloc\n";