- PR -

Linuxのスクリプトでディスク容量の状況をメールで送信する

1
投稿者投稿内容
kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2005-12-22 23:01
kumapooと申します。

普段殆どスクリプト書いたことがありません。

ただ、ディスクの容量を監視しないといけないことになりました。(もうすぐ100パーセントになってしまうので)

やりたいことは、
・df -kのコマンドの結果を1時間毎に同じサーバで起動しているsendmailを利用しある特定のアドレスへその結果を送信する

ということです。

どなたか、教えていただけないでしょうか?

環境は
Linux hoge 2.4.27-2-686-smp #1 SMP Mon May 16 16:55:31 JST 2005 i686 GNU/Linux
です。

よろしくお願いいたします。

[ メッセージ編集済み 編集者: kumapoo 編集日時 2005-12-22 23:01 ]
zume
ベテラン
会議室デビュー日: 2003/06/05
投稿数: 93
投稿日時: 2005-12-23 02:24
こんばんは。

引用:



やりたいことは、
・df -kのコマンドの結果を1時間毎に同じサーバで起動しているsendmailを利用しある特定のアドレスへその結果を送信する

ということです。



まず、df -k の出力を特定のアドレスへ送信するのには、

$ df -k | mail -s "メールのsubject" 特定のアドレス

のような感じになります。(実際にコマンドを入力して
メールが届くか確認すると良い思います)
これをシェルスクリプトとして/usr/local/binなどに
実行権をつけて、例えばdf-k.shとでもして保存します。
※記述方法は/etc/cron.dailyなどに置かれているものを
 参考にしてください

次に、これを1時間ごとに実行したいという事なのでcronを設定します。

# crontab -e として以下のように記述をします

0 * * * * /usr/local/bin/df-k.sh

※このあたりは、man 5 crontab を参照してください



もしくは、シェルスクリプトの配置先を/etc/cron.hourlyにするのも
のもありです。そうすれば/etc/crontabで指定されている時間で
1時間おきにそのスクリプトが実行されます。
この方が楽かな。。


kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2005-12-26 11:39
kumapooです。

zumeさん、返信遅くなりました。
言われた通りに、まずはコマンドラインから
引用:

$ df -k | mail -s "result of disk command" hoge@example.jp



ちゃんとメールが届きました(嬉)

ただ一つ問題があります。
メールを受信しましたが、df -kの結果が文字化けします。(下記参照)
Filesystem 1K-blocks Used Available Use% Mounted on
でも、df -kの結果はとりあえずわかるので、これでよしとします。

あとは、cronの登録を行ってみます!

[ メッセージ編集済み 編集者: kumapoo 編集日時 2005-12-26 11:41 ]
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-12-26 12:15
ただ一つ問題があります。
メールを受信しましたが、df -kの結果が文字化けします。(下記参照)

コード:
$ LANG=C df -k | mail -s "result of disk command" hoge@example.jp 


で大丈夫かと思います。
まあ、cronだと環境変数が設定されてなかった気もするんで(未確認)、
何もしないでも問題ないかもしれないです

あと、LogWatchというツールも存在してます。
ディストリビューションによっては、パッケージが準備されてたり、
標準で導入されてたりするんで、あえて自分であれこれやらずに
そういうのを利用してもいいかと思います。
http://www.atmarkit.co.jp/flinux/rensai/root04/root04c.html
他のディストリビューションは知らないけど、
CentOS3や4あたりだと、デフォルトでインストール済みかつCron登録済み、
ディスク容量監視も有効済みなんで、設定ファイルで送信先メールアドレスを
変えるだけで通知設定完了です。
_________________
Mattun
Microsoft MVP for Directory Services
(Oct 2006-Sep 2007)
kumapoo
ベテラン
会議室デビュー日: 2003/11/21
投稿数: 59
お住まい・勤務地: 住まいも、勤務も東京の品川あたり
投稿日時: 2005-12-26 18:12
kumapooです。

引用:

$ LANG=C df -k | mail -s "result of disk command" hoge@example.jp



これで文字化け治りました!

Logwatchなんて言う便利なツールがあるんですね。参考にさせていただきます。

これから少し、このスクリプト(df -k)の内容を変更してみます。

ありがとうございます。。。
1

スキルアップ/キャリアアップ(JOB@IT)