Linuxで特定のディスクの使用率は下記のコマンドで調べられます。
df {対象のディレクトリパス} | awk '{print $5}' | sed -ne 2p | cut -d"%" -f1
応用で、Bashを使って下記の機能を実現させてみます。
- 対象ディレクトリを指定できるように
- 制限値より多い場合に実行失敗にする
#!/bin/bash
checkDiskUsage()
{
local $directory=$1
local $limit=$2
# 下記のコマンドの前にssh hostのようにすれば、リモートホストでも実行可能。
local used=`df $directory | awk '{print $5}' | sed -ne 2p | cut -d"%" -f1`
echo "Disk usage of $directory: $used%"
if [ $used -gt $3 ]
then
echo "Exceed limit of disk usage (greather than $limit%)"
exit 1
fi
}
checkDiskUsage "/tmp" 80
コメント