【linux】wgetでパラメータが正常に渡らないとき

このエントリーをはてなブックマークに追加

2009/12/24 23:59 / Category linux

wget と cromtab を使えば、指定の日時にhttpで指定のURLにアクセスさせることができる。

ところで、こんなクエリ文字列付きのURLをcrontabに書いたとき、期待したとおりにパラメータが渡らない。

0 * * * * /usr/bin/wget http://www.softel.co.jp/index.php?parameter1=xxxxxx&parameter2=yyyyyy

parameter2のパラメーターが受け渡されない。

上の例では、原因は「&」。

&(バックグラウンドで実行)、&&(最初のコマンドが正常に実行された場合に、次のコマンドを実行)、;(最初のコマンド実行後、次のコマンドを実行)、||(最初のコマンドが正常に実行されなかった場合に、次のコマンドを実行)など、コマンドラインで特別な意味がある文字列があり、URLの&があることでひとつながりのコマンドと認識されないため。

下記のようにダブルコーテーションを使用すればうまくいく。

0 * * * * /usr/bin/wget "http://www.softel.co.jp/index.php?parameter1=xxxxxx&parameter2=yyyyyy"

基本的にwgetを実行する際は、URLをダブルコーテーションで囲めば問題なしです。

このエントリーをはてなブックマークに追加

1 comment

RSS / trackback

  1. 匿名

    on 2011年11月20日 at 05:17

    だからできなかったんだ・・・ &が問題だったんですね。
    問題が解決しました。ありがとう!

コメントください