私はcrontabを1時間に3回実行しています。これらのスクリプトの実行には時間がかかります。時には10分以上かかる場合があります。
0 * * * * /usr/bin/uptime >> /local/log.txt
0 * * * * /usr/bin/php5 /local/file_1.php
0 * * * * /usr/bin/php5 /local/file_2.php
0 * * * * /usr/bin/php5 /local/file_3.php
log.txtに実行時間を追加する方法はありますか?
答え1
1つの可能性は、次を行に追加することです。
; echo "script XXX ended at: $(date)" >> /tmp/mylog
良い:
0 * * * * /usr/bin/php5 /local/file_1.php; echo "script file_1.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_2.php; echo "script file_2.php ended at: $(date)" >> /tmp/mylog
0 * * * * /usr/bin/php5 /local/file_3.php; echo "script file_3.php ended at: $(date)" >> /tmp/mylog
スクリプトが開始される時間(1時間ごと)がわかるので、完了日を見ると、スクリプトがどれだけ長く実行されたかを簡単に知ることができます。
別のアプローチは、実行時間を測定し、スクリプト自体からカスタムログファイルに書き込むようにPHPスクリプトを変更することです。
/var/cron/log
Solarisを使用している場合は、開始時刻と終了時刻が記録されている場所を確認できます。