だから私はたくさんのechoステートメントでデバッグするスクリプトを持っています。これは私のサーバー上でcronによって3分ごとに実行され、echoステートメントをそこに残すことがあります。彼らはブラウザに行くのではなく、ただ行くだけです...どこか?
これは漠然とした質問だと思いますが、echoステートメントのエンドユーザーまたは出力がない場合はどうなりますか?それはメモリを占有しますか?それはただ消えるのですか?これを理解するのに助けていただければ幸いです。
答えは「はい」で、出力はcronタスクを実行しているアカウントにメールで送信されます。次の例のcronファイルのように、「MAILTO = accountname」オプションを設定することにより、crontabファイルでこれを変更できます。
MAILTO=root
# run a script every hour
01 * * * * root run-parts /etc/cron.hourly
#etc.
上記のcronタスクからの出力はすべてrootユーザーにメールで送信されます。>
Mike Bが投稿したように、演算子を使用して、タスクラインの他の場所に出力をリダイレクトすることもできます。
01 * * * * php testscript.php > /var/log/logfile.log
この場合、cronはそれを認識せず、電子メールを送信しません。
つまり、PHPスクリプトにいくつかのステートメントを残しecho
、それをcronジョブとして設定すると、cronデーモンからの電子メールの受信が開始されます。
はい、出力されますが、特に誰にも送信されません(zonbatの回答を参照してください。crontaskの所有者にメールで送信されます)。スクリプトの出力は、次の方法でファイルに書き込むことができます。
php myscript.php > /var/log/cronlog.log
(cronを言ったので、スケジュールされたタスクではなくLinuxを使用していると仮定します)