crontabアクティビティを記録する方法

crontabアクティビティを記録する方法

私は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/logSolarisを使用している場合は、開始時刻と終了時刻が記録されている場所を確認できます。

関連情報