【Linux】ディスク容量を確認するdfコマンド|空き容量監視も解説

Linuxを勉強したい人向け

 この記事は、Linux初心者向けの記事です。
Linuxのディスク容量について知りたい人

Linuxのディスク容量について知りたい人「ディスク容量を確認する方法を教えて欲しい。また、ディスク容量が一定以上になったらエラーメッセージを出すにはどうしたらいい?」

こんな疑問に答えます。

本記事の内容

  • dfでディスク容量を確認する
  • dfでディスク容量を監視する

dfでディスク容量を確認する

dfでディスク容量を確認する

dfは-hオプションだけ覚えておけばOK

dfコマンドはhオプションを付けると、適切な単位を付与して表示され、最も見やすく表示されます。

$ df -h

[実行結果]

Filesystem      Size  Used Available Use% Mounted on
none           15.4G 10.5G      5.0G  68% /
tmpfs           7.6G     0      7.6G   0% /dev
tmpfs           7.6G     0      7.6G   0% /sys/fs/cgroup
/dev/nvme0n1p1 15.4G 10.5G      5.0G  68% /etc/resolv.conf
/dev/nvme0n1p1 15.4G 10.5G      5.0G  68% /etc/hostname
/dev/nvme0n1p1 15.4G 10.5G      5.0G  68% /etc/hosts
shm            64.0M     0     64.0M   0% /dev/shm
tmpfs           7.6G     0      7.6G   0% /proc/kcore
tmpfs           7.6G     0      7.6G   0% /proc/timer_list
tmpfs           7.6G     0      7.6G   0% /proc/timer_stats
tmpfs           7.6G     0      7.6G   0% /proc/sched_debug
tmpfs           7.6G     0      7.6G   0% /sys/firmware

dfでディスク容量を監視する

dfでディスク容量を監視する

ディスク使用率を定期的に確認したいことがあります。dfコマンドの結果のうち、ディスクと使用率だけを抽出すれば定期的に使用率を確認するのに便利です。

$ df -h | sed '1d' | awk '{print $1,$5}' 

実行結果は以下の通りです。
[実行結果]

none 68%
tmpfs 0%
tmpfs 0%
/dev/nvme0n1p1 68%
/dev/nvme0n1p1 68%
/dev/nvme0n1p1 68%
shm 0%
tmpfs 0%
tmpfs 0%
tmpfs 0%
tmpfs 0%
tmpfs 0%

リアルタイムにディスク使用率を確認する

これを用いてリアルタイムにディスク使用率を確認するのは以下のコマンドです。

while true
do
df -h | sed '1d' | awk '{print $1,$5}'
sleep 1
done

ディスク使用率が閾値を超えたらエラーメッセージを出力する

リアルタイムにディスク使用率を監視し、ディスク使用率が90%を超えたらエラーメッセージを返すスクリプとは以下の通りです。

while true
do
 df -h | sed '1d' | awk '{print $1,$5}' | while read line
 do
  cpu=`echo $line | awk '{print $2}' | tr -d '%'`
  [ "$cpu" -gt 90 ] && echo "error:$line"
 done
 sleep 1
done

これで定期的にディスク容量を監視することができます。

空き容量を監視することの重要性

業務用のサーバでは、オンラインやバッチプログラムが稼働し、常にディスク容量を消費します。

気がつかないうちにルートパーティション(/)などサーバの稼働に必要な領域の空き容量がなくなってしまうと、サーバが停止しかねません。

よって、業務用のサーバでは、必ず空き容量の監視プログラムを稼働させます。

おわりに

今回は以上です。Linuxでディスク容量を確認する方法について解説しました。参考になりますと幸いです。

Blog TOP  Linuxコマンドを勉強したい人向け|Linuxの使い方 記事まとめ

Linux&Linuxコマンドを勉強したい人向けの記事もくじ

用語解説・技術一般

  "UNIXとLINUX"の違いについて解説します
  CUIとGUIの違い・特徴について解説します

サーバリソースを確認するコマンドの使い方

  【Linux】CPU使用率を確認する3つの方法を解説します
  【Linux】topコマンドで,CPU消費の原因を特定する方法
  【Linux】ps実行時に-efオプションを付ける理由について
  【Linux】メモリ使用率を確認する|容量・空きの確認も
  【Linux】ディスク容量を確認する|ディスク容量監視も

ファイル操作に関するコマンドの使い方

  【Linux】ファイルの行数をカウントする方法を解説
  【Linux】文字コード変換ならiconvコマンド1択です
  【Linux】/dev/nullを、エンジニアが使う2つの目的
  【Linux】findのexecオプションの使い方とその注意点
  【Linux】findの結果から圧縮ファイルを作るコマンド
  【Linux】hostsの場所はどこ?→/etc/hostsにあります
  【Linux】touchコマンドで,時刻更新&空ファイル作成

Linux管理者用コマンドの使い方

  【Linux】再起動コマンド(shutdown)の使い方と注意点

よく使う便利なコマンドの使い方

  【Linux】改行なしでechoコマンドを使う時の -nオプション
  【Linux】sleepコマンドの使用例と注意点について解説する
  【Linux】rmコマンドでディレクトリを削除する方法を解説
  【Linux】ファイルを削除するコマンド2選【rm以外もあり】
  【Linux】awkの区切り文字を指定する,-Fオプションを解説
  【Linux】sedで文字列の置換をするeオプションを解説する
  【Linux】dateコマンドのフォーマットとその便利な使い方
  【Linux】大文字から小文字に変換する方法【小文字から大文字も】

シェルの便利機能

  【Linux】コマンド履歴を検索する【Ctrl+r】