/ varに少なくともXG空き容量があるかどうかを確認する方法

/ varに少なくともXG空き容量があるかどうかを確認する方法

次のdf -h出力があります。

[root@trump var]# df -h | grep "/var"

/dev/mapper/vg-lvm_var   101G   85G   17G  84% /var

bash/awk/perlの/varに少なくとも10Gの空き容量があるかどうかを確認する方法

同時に、私は次の構文を書いた。

[[ ` df -h | grep "/var" | awk '{print $4}' | sed s'/G//g' ` -lt 10 ]] && echo "/var need at least 10G"

しかし、この構文は優雅でも醜いもありません。いくつかのルールを逃したかもしれません。

ベストアンサー1

十分に新しいGNUを使用すると、dfこのオプションを使用して空き領域のみを抽出できます--output。残りはawkと比較できます。

$ df -k --output=avail /var | awk 'NR == 2 && ($1 < 10*2**20) {print "/var need at least 10G"}'
/var need at least 10G

df /varこれがなくても特定のファイルシステムを取得したい場合(df | grep /var何もマウントされていない状況をキャプチャしたい場合を除き)、これを行うことをお勧めします/var

bashを使用してそれに基づいて他のコマンドを実行するには、(( ))算術コンテキストを使用します。

if (( $(df -k --output=avail /var | tail -1) < 10*2**20 ))
then
    log "/var need at least 10G"
fi 

おすすめ記事