次のような cron ジョブを実行する場合:
カール参考: http://example.com/cronjob.php
メールに送信された出力には次の内容が含まれます:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 52 0 52 0 0 81 0 --:--:-- --:--:-- --:--:-- 81
0 52 0 52 0 0 31 0 --:--:-- 0:00:01 --:--:-- 0
0 98 0 98 0 0 37 0 --:--:-- 0:00:02 --:--:-- 23
0 98 0 98 0 0 27 0 --:--:-- 0:00:03 --:--:-- 15
0 98 0 98 0 0 21 0 --:--:-- 0:00:04 --:--:-- 11
100 144 0 144 0 0 25 0 --:--:-- 0:00:05 --:--:-- 18
100 144 0 144 0 0 21 0 --:--:-- 0:00:06 --:--:-- 18
100 190 0 190 0 0 23 0 --:--:-- 0:00:07 --:--:-- 17
100 190 0 190 0 0 21 0 --:--:-- 0:00:08 --:--:-- 17
100 236 0 236 0 0 24 0 --:--:-- 0:00:09 --:--:-- 27
これはまったく役に立たないので、コード出力だけの方が望ましいと思います。これを無効にする方法はありますか?
cronjob が以下のように実行されると、この問題は発生しません。
php /path/to/the/phpfile.php
しかし、現時点では、curl を使用する以外に選択肢はありません。
答え1
検索中man curl
: ...
-s/--silent
Silent mode. Don’t show progress meter or error messages.
Makes Curl mute.
それでcurl -s http://example.com/cronjob.php
うまくいくでしょう。
次のオプションも使用できます。
-S/--show-error
When used with -s it makes curl show error message if it fails.
それが役に立てば幸い。
答え2
やってみました:
curl --silent http://example.com/cronjob.php >>/path/to/output.log 2>&1
??