파일 crontab이 실행되는지 확인

파일 crontab이 실행되는지 확인

매 분마다 실행되도록 crontab 작업을 설정했습니다.

* * * * * sudo /usr/bin/php /root/scrapers/terra_plf/terra_swap_api.php

var/log/syslog 파일에 해당 로그가 표시됩니다.

Jan  3 15:14:01 clearthefog CRON[26579]: (root) CMD (/usr/bin/php     /home/admin/scrapers/terra_plf/terra_swap_api.php)
Jan  3 15:15:01 clearthefog CRON[26623]: (root) CMD (sudo /usr/bin/php /root/scrapers/terra_plf/terra_swap_api.php)

아직,DB에는 아무것도 기록되지 않습니다파일이 terra_swap_api.php해야 하는 대로. 이유가 무엇입니까? 파일이 실제로 실행되었는지 확인할 수 있는 방법이 있나요?

CLI에서 동일한 스크립트를 실행하면 완벽하게 작동합니다: php terra_swap_api.php

답변1

sudo 비밀번호를 묻기 때문에 cron에서는 단순히 sudo를 실행할 수 없습니다. 해당 명령에 대해 비밀번호 없는 sudo를 설정해야 합니다.

php 파일은 /root 디렉토리에 있으므로(보안 문제에 주의하세요) crontab을 루트( sudo crontab -e)로 설치하고 거기에 해당 줄을 넣을 수 있습니다(sudo 없이).

스크립트에 루트 권한이 필요하지 않은 경우 sudo 없이 실행할 수 있지만 /root가 소유되고 루트 사용자로 제한되므로 파일을 읽을 수 있는 위치로 이동해야 합니다.

관련 정보