0

これは大きな迷惑です。古いwgetバージョンでは (man ページにもそう記載されています)、エラー コード機能全体が確実に機能することはありませんでしたが、現在のwgetバージョンでは、あまりにも確実に機能しているように見えます。

私には、cronRSS オプションのないブログ用に設定された、一種の「貧乏人の RSS」と呼ばれる可能性のある仕事があります。新しいページが来るのを 15 分ごとにポーリングするだけです。(つまり、現在 random-blog.net/entry2147.html にあり、変数に 2148 を格納し、そこから crontab を作成した場合404、entry2148.html ページが存在するまで s を取得します。(これは通常、 20時間以内の場合)

しかし...

cronwget「見つかりません」(404)(終了コード8)を返すたびに、少し冗長になる傾向があります。

(CRON) error grandchild #98765 failed with error code 8

まあ、私はそれを知っていますよね!? ページがまだ存在しないことはわかっていますが、cron実行するたびにそのことを伝える必要はありません! ネットで答えを探しましたが、整理整頓を維持しながらこれらの不要なメッセージを抑制する方法はどこにもありませんでしたsyslog

残念ながら、 「失敗」してもwget単純にコードを出力するように指示する方法はありません0(ハッキングを除いて)。

この問題についてのアイデアはありますか?

4

1 に答える 1

1

実際の終了コードを無視して 0 リターンで終了するシェルスクリプト内のものをラップすることができます。次のようになります。

#!/bin/sh

cd /home/me/mycrondir

wget -flags tralalala tweedledom  2>&1 >>/home/me/mycrondir/myerrorlog.log

exit 0
#Eof

wget (または必要な他のバイナリ) が $PATH (cron によって提供される) にない場合は、これらをこのスクリプトの先頭に追加できます。

PATH=/opt/bin:$PATH; export PATH
于 2012-04-17T08:11:56.437 に答える