Commit | Line | Data |
378cc40b |
1 | #!/usr/bin/perl -P |
2 | |
fe14fcc3 |
3 | # $Header: scan_df,v 4.0 91/03/20 01:12:28 lwall Locked $ |
378cc40b |
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 |
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'); |