내가 설정한 특정 시간에 cronjob이 실행되는지 확인하는 방법을 알고 싶습니다. 어쨌든 그 시간을 기다리지 않고 이것을 테스트할 수 있습니까?
이것은 내 crontab -l 결과입니다.
root@work:~$ crontab -l
3 */23 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null
내 값이 정확하다면 내 cronjob은 매일 밤 정각에 오후 11시에 실행되고 모든 출력을 /dev/null에 기록하여 깨끗하게 유지합니까?
감사해요.
답변1
확실하게 알 수 있는 유일한 방법은 실행하고 결과를 확인하는 것입니다. 출력을 어딘가에 기록하고 검사하도록 명령을 수정하거나 출력을 이메일로 보내도록 할 수 있습니다.
디버깅 목적으로 약 5분 안에 명령을 실행하는 또 다른 동일한 줄을 추가할 수 있습니다. 예를 들어. 지금이 오후 3시 13분이라면 다음 줄을 추가하여 3분 후에 명령을 테스트할 수 있습니다.
# Run at 15:16
16 15 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null
그런데. 매일 오후 11시에 실행하려면 다음을 원할 수도 있습니다. 또한 2>&1
모든 출력이 다음으로 이동하는지 확인하기 위해 stderr을 stdout() 으로 리디렉션했습니다 /dev/null
.
# At minute 0 of hour 23 on every day, every month, every day of the week:
0 23 * * * /opt/lampp/bin/php /opt/lampp/htdocs/site/cron/my_script.php > /dev/null 2>&1
답변2
다른 좋은 답변을 보완하려면 온라인 테스트 페이지를 사용하여 cron 설정이 정상인지 확인할 수 있습니다.
- 구성이 실행되는 시기를 알려줍니다.http://cron.schlitt.info/
- 이는 crontab을 작성하는 데 도움이 될 수 있습니다.http://cron.nmonitoring.com/cron-generator.html
답변3
가장 쉬운 방법은 지금부터 5분 후에 크론 작업을 미리 설정하고 해당 작업이 작동하는지 확인하는 것입니다. 또한 cron 실행을 날짜가 지정된 파일에 기록하는 것도 좋은 형식입니다. 이렇게 하면 실제로 실행되는 #1과 올바르게 실행되는 #2를 볼 수 있습니다.
시스템 시간도 올바른지 확인하십시오.