/etc/cron.daily/foo: ルートではなく特定のユーザーに電子メールを送信しますか?

/etc/cron.daily/foo: ルートではなく特定のユーザーに電子メールを送信しますか?

私は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

おすすめ記事