ディスクの空き容量をチェックして Gnome inotify で通知

LINEで送る
Pocket

普段パソコンを使用していてディスク容量を気にする事は少ないでしょう。しかしディスクが一杯になるとシステムのあらゆる部分で不具合がでて、操作不能の状態に陥ってしまう恐れがあります。ディスク使用量の詳細を知りたい時は、「ディスク使用量アナライザー」を参照するのがお勧めです。ディレクトリ毎に、どこのディレクトリ配下のファイル使用量が多いのかがグラフィカルに確認できます。

コマンドで確認する場合は、df コマンドを使用します。

$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
tmpfs             402044     1504    400540   1% /run
/dev/sda3       19946096 16533872   2373684  88% /
tmpfs            2010220        4   2010216   1% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            2010220        0   2010220   0% /run/qemu
/dev/sda2         524252        4    524248   1% /boot/efi
tmpfs             402044       96    401948   1% /run/user/1000
/dev/sdb1        3020584  3004200         0 100% /data

notify-send コマンドは、ディスクトップにポップアップ通知を送るコマンドです。ターミナル上で以下のように実行して確認することができます。

$ notify-send "概要" "情報"

-u で緊急度(low, normal, critical low と normal は同じ) -i アイコンを指定でき、アイコン名または画像ファイルを指定します。

$ notify-send -u critical "緊急" "ディスクが一杯です"
$ notify-send -i system-run  "通知" "サービスが起動しました"

アイコン名は、/usr/share/icons/ 配下のファイル名を指定します。配下をファイルマネージャで参照するとディスクの画像 disk-utility-app.png があったのでスクリプト内で -i disk-utility-app と指定することにします。

以下のスクリプトを root のクーロンに登録しておけば、画像のようなアラートが通知されます。

check_disk.sh

#!/bin/bash

# 表示するディスプレイを設定
export DISPLAY=:0
# 表示するディスクトップのユーザ名
USERNAME="taro"
# ディスク容量(%)のリミットを設定
LIMIT=70
# チェックするデバイスを設定
CHECK_DEV=("/dev/sda3" "/dev/sdb1");
for check_dev in ${CHECK_DEV[@]}
do
	# 対象デバイスの使用率を取得
	DISK_USE=`df |grep ${check_dev}|awk '{print $5}'|sed 's/%//'`

	# 使用率がリミットを超えているかチェック
	if [ ${LIMIT} -le ${DISK_USE} ]; then
		# ディスクトップに警告メッセージを表示
		su ${USERNAME} -c "notify-send -i disk-utility-app -u critical '緊急' 'ディスク ${check_dev} が一杯です。'"
	fi
done
LINEで送る
Pocket

  • このエントリーをはてなブックマークに追加

コメントを残す

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください