2010年11月10日(水)
cron でファイルシステムの使用容量の簡易監視
監視 | |
cron でファイルシステム使用容量の簡易監視の方法です。
以下のデーモンを使用します。システムで稼動しておいてください。
設定手順
システム管理用アカウント(または自分のアカウント)で cron を設定します。
$ crontab -e
(crontab に書き込むエントリ) */5 * * * * df | grep '^/' | grep -v '^/media/cdrom' | awk '$5 > 80 {print}'
上の例では、5分毎、しきい値 80% になってますが適当に調整してください。
CD-ROM は常に 100% なので /media/cdrom* を除外してます。このあたりは環境に合わせて修正してください。
メールをフォワードします。(自分のアカウントの場合、この作業は不要です)
$ vi ~/.forward
(lnznt アカウントにフォワードする場合の.forward の内容) lnznt
これで、ファイルシステムの使用容量がしきい値を超えた場合に自アカウントにメールが来ます。
(メールを確認) $ mail
その他
メールの到着を通知するアプレット等を追加すると便利です。
私は、GnuBiff アプレットを使っています。
(Ubuntu でのパッケージインストール) $ sudo apt-get update $ sudo apt-get install gnubiff
GNOME パネルに追加して、ローカルスプールへのメール到着を監視しています。
crontab
crontab の使い方です。詳細は man などを確認してください。
(crontab の表示) $ crontab -l (crontab の編集) $ crontab -e (crontab の内容を file から読み込む) $ crontab < file
注意すること
crontab は引数なしで起動すると、内容を標準出力から読み込もうとします。
この時、何も入力せずに Ctrl-D (EOT)で終了させると、crontab が何もない状態に更新されてしまいます。crontab -e (編集)のつもりで '-e' をつけ忘れていると悲惨なことが起きたりします。
おかしいと思ったときは
- Ctrl-D でなく Ctrl-C (SIGINT を送る) で終了
させましょう。
安全な crontab の編集手順です。
$ crontab -l > file.tmp # 内容をファイルに書き出す $ vi file.tmp # 書き出した内容を編集 (ここで、内容の編集) $ crontab < file.tmp # 変更内容の反映
コメント
トラックバック - http://linux2.g.hatena.ne.jp/lnznt/20101110