0

curl cron ジョブが正しく実行されない理由を突き止めようとしています。ブラウザで実行すると問題なく動作しますが、コマンドラインで実行すると次の出力が得られます。実際の URL を置き換えましたが、URL は次のようなものですexample.com/file.php?pass=password&t=d

root@low [/home/user]# sudo -u user curl URL
[1] 13959 root@low [/home/user]# 0アカウント
のバックアップを開始します!

ブラウザーの出力は、9、10、または私が持っているバックアップの数すべてに対して実行されます。curl リクエストにフラグがないだけですか?

4

2 に答える 2

4

コマンドラインで & 記号を使用しているため、パラメーター t が失われ、スクリプトはすべての入力データを取得しません (シェル単位で実行されるため、おそらく cron ジョブと同じです)。

試す:

カール「URL」

http://linuxcommand.org/lts0080.phpをチェックアウトし、「Putting a program in the background」を検索して、シェル内での詳細を確認してください。

于 2012-12-19T12:41:26.240 に答える
0

curl通常は にあると思います/usr/bin/curl。おそらく、cronjob で絶対パスとして実行する必要があります (/usr/binデフォルト パスに含まれていない場合)。これは通常、コマンドラインからは機能するが、cron からは機能しない場合に当てはまります (まったく同じコマンドとして)。

于 2012-12-19T12:33:28.493 に答える