scan_df
来自「UNIX下perl实现代码」· 代码 · 共 52 行
TXT
52 行
#!/usr/bin/perl -P# $RCSfile: scan_df,v $$Revision: 4.1 $$Date: 92/08/07 17:20:33 $# This report points out filesystems that are in danger of overflowing.(chdir '/usr/adm/private/memories') || die "Can't cd to memories: $!\n";`df >newdf`;open(Df, 'olddf');while (<Df>) { ($fs,$kbytes,$used,$avail,$capacity,$mounted_on) = split; next if $fs =~ /:/; next if $fs eq ''; $oldused{$fs} = $used;}open(Df, 'newdf') || die "scan_df: can't open newdf";while (<Df>) { ($fs,$kbytes,$used,$avail,$capacity,$mounted_on) = split; next if $fs =~ /:/; next if $fs eq ''; $oldused = $oldused{$fs}; next if ($oldused == $used && $capacity < 99); # inactive filesystem if ($capacity >= 90) {#if defined(mc300) || defined(mc500) || defined(mc700) $_ = substr($_,0,13) . ' ' . substr($_,13,1000); $kbytes /= 2; # translate blocks to K $used /= 2; $oldused /= 2; $avail /= 2;#endif $diff = int($used - $oldused); if ($avail < $diff * 2) { # mark specially if in danger $mounted_on .= ' *'; } next if $diff < 50 && $mounted_on eq '/'; $fs =~ s|/dev/||; if ($diff >= 0) { $diff = '(+' . $diff . ')'; } else { $diff = '(' . $diff . ')'; } printf "%-8s%8d%8d %-8s%8d%7s %s\n", $fs,$kbytes,$used,$diff,$avail,$capacity,$mounted_on; }}rename('newdf','olddf');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?