Commit | Line | Data |
---|---|---|
378cc40b LW |
1 | #!/usr/bin/perl -P |
2 | ||
79072805 | 3 | # $RCSfile: scan_df,v $$Revision: 4.1 $$Date: 92/08/07 17:20:33 $ |
378cc40b LW |
4 | |
5 | # This report points out filesystems that are in danger of overflowing. | |
6 | ||
a687059c | 7 | (chdir '/usr/adm/private/memories') || die "Can't cd to memories: $!\n"; |
378cc40b LW |
8 | `df >newdf`; |
9 | open(Df, 'olddf'); | |
10 | ||
11 | while (<Df>) { | |
12 | ($fs,$kbytes,$used,$avail,$capacity,$mounted_on) = split; | |
13 | next if $fs =~ /:/; | |
14 | next if $fs eq ''; | |
15 | $oldused{$fs} = $used; | |
16 | } | |
17 | ||
18 | open(Df, 'newdf') || die "scan_df: can't open newdf"; | |
19 | ||
20 | while (<Df>) { | |
21 | ($fs,$kbytes,$used,$avail,$capacity,$mounted_on) = split; | |
22 | next if $fs =~ /:/; | |
23 | next if $fs eq ''; | |
24 | $oldused = $oldused{$fs}; | |
25 | next if ($oldused == $used && $capacity < 99); # inactive filesystem | |
26 | if ($capacity >= 90) { | |
27 | #if defined(mc300) || defined(mc500) || defined(mc700) | |
28 | $_ = substr($_,0,13) . ' ' . substr($_,13,1000); | |
29 | $kbytes /= 2; # translate blocks to K | |
30 | $used /= 2; | |
31 | $oldused /= 2; | |
32 | $avail /= 2; | |
33 | #endif | |
34 | $diff = int($used - $oldused); | |
35 | if ($avail < $diff * 2) { # mark specially if in danger | |
36 | $mounted_on .= ' *'; | |
37 | } | |
38 | next if $diff < 50 && $mounted_on eq '/'; | |
39 | $fs =~ s|/dev/||; | |
40 | if ($diff >= 0) { | |
41 | $diff = '(+' . $diff . ')'; | |
42 | } | |
43 | else { | |
44 | $diff = '(' . $diff . ')'; | |
45 | } | |
46 | printf "%-8s%8d%8d %-8s%8d%7s %s\n", | |
47 | $fs,$kbytes,$used,$diff,$avail,$capacity,$mounted_on; | |
48 | } | |
49 | } | |
50 | ||
51 | rename('newdf','olddf'); |