サーバーはDebian 6.0です。 /etc/aliasesには次のものがあります。
root: [email protected]
これにより、ルートメールが私に直接送信されます。今日/etc/cron.monthlyに入れた毎月のスクリプトの結果が電子メールで送信されました。これは以下のように非常に単純なスクリプトです。
#!/bin/bash
cd /a/directory
rm -rf ./*
wget http://www.site.com/fresh-copy.zip
unzip fresh-copy.zip
rm fresh-copy.zip
私が受け取った電子メールは次のとおりです。
**Subject**: Cron <root@myserver> test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
**From**: [email protected]
**Body**:
/etc/cron.monthly/speedtest:
--2013-03-01 06:52:01-- http://www.site.com/fresh-copy.zip
Resolving www.site.com... 11.22.33.44
Connecting to www.site.com|11.22.33.44|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 99763924 (95M) [application/zip]
Saving to: `fresh-copy.zip'
0K .......... .......... .......... .......... .......... 0% 11.7M 8s
50K .......... .......... .......... .......... .......... 0% 11.3M 8s
100K .......... .......... .......... .......... .......... 0% 11.4M 8s
*CUT OUT FOR BREVITY*
97350K .......... .......... .......... .......... .......... 99% 16.9M 0s
97400K .......... .......... ..... 100% 11.6M=9.7s
2013-03-01 06:52:11 (9.78 MB/s) - `fresh-copy.zip' saved [99763924/99763924]
Archive: fresh-copy.zip
inflating: file1.ext
inflating: file2.ext
inflating: file3.ext
inflating: file4.ext
inflating: file5.ext
この電子メールの唯一の出力は、wget
andunzip
コマンドからのものです。スクリプトを編集してこの2行の末尾に置くこともできますが、> /dev/null
それは本当に最善の方法ですか?出力を生成するスクリプトにさらにコマンドを追加した場合は、常に各行> /dev/null
に追加する必要があります。このcronスクリプトで電子メール通知の出力を無効にする方法はありますか?
ベストアンサー1
> /dev/null
スクリプトで引き続き使用することをお勧めします(-q
またはオプションを使用)。これにより、いずれかのコマンドでエラーが発生した場合、そのエラーは電子メールで送信されますが、正常な出力は抑制されます。wget
unzip