ディスク容量を取得し、これを最も使用されている容量と分けて、1 つのリストに入れたい
使用済みスペースを取得する方法の例:
df -P | grep -vE 'Filesystem' | awk '{ print $5 " " $6 }'
出力:
89% /
1% /oralog
24% /oradata
0% /dev/shm
期待されるビュー:
[bad] 89% /
[ok] 1% /oralog
[ok]24% /oradata
[ok]0% /dev/shm
ブロックの条件としてwithgrep
の最初の行をスキップすることで、 を削除できます。の値を良い/悪いの制限に設定するだけです。例では制限を 80 に設定しています。awk
NR>1
x
$ df -P | awk 'NR>1{print ($5>x)?"[bad]":"[okay]",$5,$6}' OFS='\t' x=80
[bad] 89% /
[ok] 1% /oralog
[ok] 24% /oradata
[ok] 0% /dev/shm
使用率が最も高いディスクのみが[bad]
df -P | perl -anE '$F[4]=~s/%//||next;push@r,[@F];$m<$F[4] and $m=$F[4];END{say $m==$$_[4]?"[bad]":"[ok]"," $$_[4]% $$_[5]"for@r}'
出力
[ok] 44% /
[ok] 0% /lib/init/rw
[ok] 1% /dev
[ok] 0% /dev/shm
[bad] 61% /ftp