「df -P」の「-P」とは?
-PはPOSIX形式で出力するオプションです。
通常のdfコマンドは、ファイルシステム名が長い場合などに改行されることがあります。一方、df -Pは1つのファイルシステムを必ず1行で表示するため、シェルスクリプトで扱いやすくなります。
なぜ運用ではdf -Pが使われるのか?
サーバー運用では、「ディスク使用率が○%を超えたら自動で処理を実行する」という運用がよくあります。
例えば、
- ディスク使用率が80%以上になったら古いログを削除
- ディスク使用率が90%以上になったらメール通知
- ディスク使用率が95%以上になったらサービスを停止
このような処理では、まずディスク使用率を正確に取得する必要があります。
そのためによく使われるのが次のコマンドです。
df -P / | awk 'NR==2 {gsub("%","",$5); print $5}'
出力例
82
取得した数値を条件分岐に利用できます。
USED=$(df -P / | awk 'NR==2 {gsub("%","",$5); print $5}')
if [ "$USED" -ge 80 ]; then
echo "ディスク使用率80%以上"
fi
実際の運用例(F5 BIG-IP)
私が携わった運用では、ルートファイルシステムの使用率が80%を超えた場合に、日付付きログやdeadletterファイルを削除する仕組みを検討しました。
イメージは次のような流れです。
1. cronで定期実行
│
▼
df -P / でルートファイルシステムの使用率を取得
│
▼
80%以上?
│ │
No Yes
│ │
終了 古いログ・deadletterを削除
│
▼
容量を確保
このような自動化では、df -Pを使うことで出力形式が安定し、スクリプトの誤動作を防げます。
df -hとの違い
| コマンド | 向いている用途 |
|---|---|
df -h | 人が画面で容量を確認する |
df -P | シェルスクリプトで解析する |
普段の確認ならdf -hで十分ですが、自動化や監視スクリプトではdf -Pが適しています。
まとめ
df -Pは「POSIX形式で表示する」というシンプルなオプションですが、運用現場では重要な役割を果たします。
特に、ディスク使用率を条件にログ削除やアラート通知を行うスクリプトでは、出力形式が固定されるdf -Pを利用することで、環境差異による誤動作を防ぎやすくなります。

コメント