web-dev-qa-db-ja.com

引数を使用してcronジョブを実行し、結果をログに渡すにはどうすればよいですか?

例:

* * * * * /usr/bin/php /full/path/to/script.php arg1 arg2 > /full/path/to/logfile.log

スクリプトは正常に実行され、引数にアクセスしますが、結果がlogfile.logに出力されることはありません。また、私のlogfile.logはchmod 777なので、書き込みアクセス権があることはわかっています。

構文を修正できますか?

10
Ryan

間違ったフォルダでログファイルを検索しているようです。これを試して

* * * * * cd /path/to/script.php ; ./script.php arg1 arg2 >> logfile.log

次に、/ path/to/scriptフォルダーでログファイルを探します。また、書き込み許可の問題である可能性もあります。また、スクリプトにエラーがないか確認してください。 crontabコマンドは問題ないようです。

12
mik

コマンドはコマンドラインから正しく機能しますか?引数にシェルによって特別に扱われる文字が含まれている可能性があります。その場合、シェルが引数をいじくり回さないように、コマンド全体を引用する必要があります。

1
Ashwinee K Jha