「df」を使って空き容量を確保し、それをログファイルに出力するには?

「df」を使って空き容量を確保し、それをログファイルに出力するには?

コマンドを使用すると、df次のような結果が得られます。

Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/root      197844228 15578648 180242500   8% /
devtmpfs         4101368        0   4101368   0% /dev
tmpfs             820648      292    820356   1% /run
tmpfs               5120        0      5120   0% /run/lock
tmpfs            1693720        4   1693716   1% /run/shm

ただ大事にしたいなら180242500番号を記録し/てファイルに保存します(例disk-space-available.txt:)。

それを使用するとdf >> disk-space-available.txtすべてが保存され、ファイルの生の数だけが必要です。

たとえば、次のようなものがあると動作します。

df -OUTPUT=raw-available-number
180242500

どうですか?

答え1

dfGNU coreutilsから:

$> df --output=avail /
Avail
12345
$> df --output=avail / | grep -v Avail
12345

答え2

簡単なフィルタリングを使用して、awk最後のフィールドが同じであることを確認し/たら、その4thフィールドを印刷できます。

df | awk '$NF == "/" { print $4 }' >> output

または:

df / | awk 'NR == 2 { print $4 }' >> output

答え3

「df」のGNUバージョンがない場合は、「stat」を使用して使用可能なブロックの数とサイズを取得できます。

stat --file-system --format="%f %S" /

その後、乗算して使用可能なバイトを取得できます。

(stat=$(stat --file-system --format="%f %S" /) && echo $(( ${stat/ /*} )))

人間が読める形式に変換することを選択できますnumfmt --to=iec

関連情報