- PR -

wgetのリターンコード

1
投稿者投稿内容
いかくん
会議室デビュー日: 2005/02/14
投稿数: 2
投稿日時: 2005-02-14 14:59
はじめまして。
現在、wget1.9.1を使用して、定期的にあるURLの内容を参照するスクリプトを作成しています。
wgetが終了した場合のエラーハンドリングのロジックをどう記述すればいいのか悩んでおります。

Apacheが起動していれば、wgetのリターンコードが0で終了することを確認しています。Apache停止中はリターンコード1が返ってきます。
もし、wget自身がアベンドすれば、0以外が返ってくるのではないかと思っています。
又、その他にもエラー要因があるはず。

wgetの0以外のリターンコード表を調べたいですが、誰かご存知でしょうか?
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-02-14 20:57
取得したものの中身が「それらしい」かどうかチェックするのが本筋と
思うですが...

man wget では説明がないですね。
そんなときはやはり "Luke, use the source!" でしょう。
たぶん、ヘッダを眺めればどうなってるかだいたい見当がつくように
書かれているだろうと思います。

あとは、0 じゃないのが返ってきたらログに書いておくとか自分に
メールを飛ばすように仕込んでおくとか。
いかくん
会議室デビュー日: 2005/02/14
投稿数: 2
投稿日時: 2005-02-15 10:14
ぽんす様
早速のご回答ありがとうございました。
ヘッダを見る手がありましたね。
ヘッダを解析するロジックで回避したいと思います。

ちなみにリターンコード0以外のロギング、メール発信の機能も入れていましたが、
諸事情によりメール発信先はスクリプト開発者だけではなくWeb管理者にも
メール発信するので、正確な情報をキャッチしたかったためです。
どうもありがとうございました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2005-02-15 20:10
ちょっとソースを眺めてみましたが、ヘッダでは分からんですね。
find xargs grep の3点セットで exit() か _exit() してるところを
探してみると、だいたい 0 か 1 か 2 で終了しているようです。
あと、main() から return で抜けて終了している箇所もありますので...
調べるのはやや面倒かも、です。
1

スキルアップ/キャリアアップ(JOB@IT)