私はCentOS 5.5を使用しています。
/etc/cron.daily/に複数のcronjobが保存されています。これらのcronjobの電子メールの一部を特定の電子メールアドレスに送信し、/etc/cron.daily/の残りの電子メールをデフォルトの電子メールアドレス(root@localhost)に送信したいと思います。
/etc/cron.daily/のCronjobは/etc/crontabファイルで実行されます。 /etc/crontab は「MAILTO」フィールドを指定します。 /etc/cron.daily/foo cronjobでMAILTOを設定してこれを無視できますか?
この問題を処理する最良の方法は何ですか?
ベストアンサー1
設定が[email protected]
機能しません/etc/cron.daily/foo
。スクリプト出力は次に送信されません。[Eメール保護]。
ページの場所は次のとおりです。http://www.unixgeeks.org/security/newbie/unix/cron-1.htmlまた、簡単なソリューションを提案しました。
これで、ファイルには/etc/cron.daily/foo
次の内容が含まれます。
#!/bin/sh
/usr/bin/script 2>&1 | mailx -s "$0" [email protected]
'にEメールが送信されます。[Eメール保護]'テーマはスクリプトのフルパスと同じです(例/etc/cron.daily/foo
:)。
Unixgeeks.orgには次の内容があります。
クローン出力
前述したように、cronの出力はプロセス所有者またはMAILTO変数で指定された人にメールで送信されますが、それを望まない場合はどうすればよいですか?出力を他の人にメールで送信するには、出力をコマンドメールにパイプするだけです。例えば
cmd | mail -s "メールの件名" ユーザー
時にはstdoutではなくcronjobでエラーを受けたい場合もあるので、このトリックを使用します。一見すると、構文が疑わしいように見えるかもしれませんが、有効であることを確認してください。次のcronjobはSTDOUTを/ dev / nullに送信してからSTDERRをパイプします。
doit 2>&1 >/dev/null | mailx -s "$0" [email protected]
同じ内容ですが、syslogに送信されます。
doit 2>&1 >/dev/null | /usr/bin/logger -t $ME
ServerFaultに対する私の答えも参照してください。ファイルと電子メールのCronjob stderr