GNU/Linux >> Linux の 問題 >  >> Linux

cronジョブを/dev/ null /に完全に沈黙させる方法は?

私のUbuntu-Desktopとdebian-serverには、毎分実行する必要のあるスクリプト(私のスペースオンラインブラウザゲームの分ティックを呼び出すスクリプト)があります。

問題は、Debian派生物でcronが/var/log/syslogにログを記録していることです。 実行するたびに。 /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

ただし、cronジョブを実行して、生成されたすべての出力またはエラーがNULLにパイプされるようにしたいので、syslogでメッセージが生成されず、電子メールも生成されません。

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

ただし、欠点は、すべてのcronジョブのすべての出力がリダイレクトされることです。

どういうわけか、単一のcronジョブのみを別のログファイルにリダイレクトできますか?できればcron.hourly内で構成可能 ファイル自体。

承認された回答:

行を次のようにします:

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

これにより、STDOUT(1)とSTDERR(2)の両方がキャプチャされ、/dev/nullに送信されます。 。

MAILTO

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)

これらは、cronジョブのディレクトリが実行されたことをcron経由で通知するだけです。このメッセージは、これらのジョブとは直接関係ありません。代わりに、crondから送信されます。 デーモンを直接。これらについてできることは実際には何もありません。crondの進行状況を知るための唯一のウィンドウである可能性が高いため、これらを無効にしないことをお勧めします。 ログ経由。

非常に煩わしい場合は、いつでも別のログファイルに転送して、/var/log/syslogから削除できます。 /etc/syslog.confを介したファイル syslogの構成ファイル 。


Linux
  1. / dev/randomを使用してLinuxでランダムパスワードを生成する方法

  2. Linux:/ dev / console、/ dev / tty、/ dev / tty0の違いは?

  3. /dev/random または /dev/urandom を base64 でエンコードする方法は?

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. Linux:/dev/console 、 /dev/tty 、 /dev/tty0 の違い

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  1. / dev / stdin、/ dev / stdout、および/ dev / stderrはどの程度移植可能ですか?

  2. / dev/randomと/dev/ urandomをいつ使用するか?

  3. /dev/dm-Z デバイスから /dev/sdX および /dev/mapper/mpathY デバイスをマップする方法