/dev/null/のcronjobを完全に沈黙させるにはどうすればよいですか?

/dev/null/のcronjobを完全に沈黙させるにはどうすればよいですか?

私のUbuntuデスクトップとDebianサーバーには、毎分実行する必要があるスクリプト(私の分を呼び出すスクリプト)があります。宇宙オンライン検索ゲーム)。

問題は、Debian 派生で/var/log/syslog実行されるたびに cron ログが記録されることです。結局、次のようなメッセージが繰り返されるのがわかります/var/log/syslog

Nov 11 16:50:01 eclabs /USR/SBIN/CRON[31636]: (root) CMD (/usr/bin/w3m -no-cookie http://www.spacetrace.org/secret_script.php > /dev/null 2>&1)

プログラムの出力を抑制するために、/dev/nullプログラム内のすべてのエラーや警告メッセージを隠すなどのパスにリダイレクトできることがわかります。 crontabに次の行を作成できます。

* * * * *       root    /usr/local/sbin/mycommand.sh > /dev/null

しかし、cronjobを実行し、生成された出力やエラーがNULLにパイプされ、システムログにメッセージや電子メールが生成されないようにしたいと思います。


編集:
cron-logを別々のログにリダイレクトするソリューションがありますここで提案されているように変更して/etc/syslog.conf

欠点は、すべてのcronjobのすべての出力がリダイレクトされることです。

単一のcronjobだけが別々のログファイルにリダイレクトできますか?cron.hourlyファイル自体の内部で構成することをお勧めします。

ベストアンサー1

次のようにラインを作成します。

* * * * *       root    /usr/local/sbin/mycommand.sh > /dev/null 2>&1

その後、STDOUT(1)とSTDERR(2)がキャプチャされます/dev/null

メール送信

電子メールを設定してリセットして電子メールを無効にすることもできます。MAILTO=""これにより、電子メールの送信が無効になります。

はい

MAILTO=""
* * * * *       root    /usr/local/sbin/mycommand.sh > /dev/null 2>&1

MAILTO="[email protected]"
 * * * * *      root    /usr/local/sbin/myothercommand.sh

追加情報

通常、次の種類のメッセージが届きます/var/log/syslog

Nov 11 08:17:01 manny CRON[28381]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)

これは、cronjobsディレクトリが実行されたというcronを介した通知です。このメッセージは、これらの操作と直接関係しませんが、crondデーモンから直接提供されます。これを行うことはあまりありませんが、crondログを介して何が起こっているのかを確認できる唯一のウィンドウである可能性があるため、無効にしないことをお勧めします。

彼らがあなたを非常に迷惑にするならば、あなたはいつでも通過することができます/var/log/syslog/etc/syslog.confsyslog

おすすめ記事