Linuxのdfコマンドの実行結果をcronでメール送信する方法

定期的にLinuxサーバのハードディスクの残り容量を自ら確認しにいくのが面倒なので、メールで自動通知してくれたら良いのに、と思う時がある。そんな時は、dfコマンドの実行結果をcronでメール送信するようにしてやると、良いかもしれない。

毎時0分にシェルを実行するcronの例
0 * * * * /home/nobuneko/df.sh

実行するシェル(df.sh)の中身
#!/bin/sh
echo -e "`df -h`" | mail -s "nobuneko server df result" test@nobuneko.com

シェルの実行により届くメールの内容
メールタイトル:
 nobuneko server df result

メール本文:
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             3.8G  3.1G  505M  87% /
/dev/sda3              90G   64G   22G  76% /home
/dev/sda1              46M   24M   21M  54% /boot
tmpfs                1006M     0 1006M   0% /dev/shm

《備考》
echo "`df -h`" | mail -s "nobuneko server df result" test@nobuneko.com

といったように、echoコマンドに-eオプションをつけないと、以下のようにdfコマンドの結果が改行なし(改行コードなし)でメールされてしまうので注意が必要。

Filesystem Size Used Avail Use% Mounted on /dev/sda2 3.8G 3.1G 505M 87% / /dev/sda3 90G 64G 22G 76% /home /dev/sda1 46M 24M 21M 54% /boot tmpfs 1006M 0 1006M 0% /dev/shm

echoコマンドの結果に改行コードを含めるには、

echo -e "`df -h`" | mail -s "nobuneko server df result" test@nobuneko.com

といったように-eコマンドが必要だ。

前へ

「KIRIBAI 巻くだけ簡単! 指先まであったか!! 巻きポカ」を含めて合計11個のカイロを装備した

次へ

36.6度の熱でも油断できない