設定MAILTO=user@example.org
は/etc/cron.daily/foo
機能しません。スクリプト出力はuser@example.orgに送信されません。
http://www.unixgeeks.org/security/newbie/unix/cron-1.htmlのページも簡単な解決策を提案しています。
このファイル/etc/cron.daily/foo
には次のものが含まれています。
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" stefanl@example.org
これにより、「stefanl@example.org」に、スクリプトのフルパス(例:)に等しい件名のメールが送信されます/etc/cron.daily/foo
。
Unixgeeks.orgはこれについて次のように述べています。
cronからの出力
前にも言ったように、cronからの出力はプロセスの所有者、またはMAILTO変数で指定された人にメールで送信されますが、それを望まない場合はどうでしょうか?出力を他の誰かにメールで送信する場合は、出力をコマンドメールにパイプするだけです。例えば
cmd | mail -s「メールの件名」ユーザー
時々、stdoutではなくcronjobからのみエラーを受け取りたいので、このトリックを使用します。構文は一見間違っているように見えるかもしれませんが、動作することを保証します。次のcronjobは、STDOUTを/ dev / nullに送信し、パイプラインを介してSTDERRを処理します。
doit 2>&1 >/dev/null | mailx -s "$0" stefanl@example.org
同じことですが、syslogに送信します。
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
ファイルと電子メールを送信するCronjob stderrへの ServerFaultに関する私の回答も参照してください
/etc/crontab
デフォルトを指定しません。