트리거되지 않고 Linux Ubuntu에서 cronjob을 디버깅하는 방법은 무엇입니까?

트리거되지 않고 Linux Ubuntu에서 cronjob을 디버깅하는 방법은 무엇입니까?

저는 우분투 리눅스를 사용하고 있습니다.

매분마다 실행되도록 이 크론 작업을 추가했습니다.

MAILTO="[email protected]"                                                                                                                                                                                    
* * * * *  cd /home/forge/bheng/public/code/scraper/; /usr/bin/python3 main.py

이 명령을 실행하면

cd /home/forge/bheng/public/code/scraper/; /usr/bin/python3 main.py

좋은 결과.

실행되는 것을 본 적도 없고 이메일을 받은 적도 없습니다.


나는 mail명령 을 실행했다

나는 가지고있다

└── mail                                                                                                           
"/var/mail/root": 3 messages 3 new                                                                                 
>N   1 Cron Daemon        Sun Oct 15 06:34  21/930   Cron <root@bheng> test -x /usr/sbin/anacron || ( cd / && run  
 N   2 long@bheng         Sun Oct 15 14:19  15/649   *** SECURITY information for bheng ***                        
 N   3 long@bheng         Sun Oct 15 14:19  15/649   *** SECURITY information for bheng ***                        
?

문제가 있는 것 같은데 어떻게 해결하나요?


내가 뭔가를 잊어버렸거나 뭔가를 놓쳤던 걸까?

답변1

어떤 이유로 크론 작업이 실패하면 이메일을 통해 메시지를 받게 됩니다. "메일"을 입력하고 메시지를 확인하세요.

답변2

메일 대신 명령을 bash 스크립트로 래핑한 다음 로그 파일을 사용하는 것을 고려해 보십시오.

예를 들어 다음 내용으로 /home/forge/scraper.bash 스크립트를 생성할 수 있습니다.

#!/bin/bash -x
cd /home/forge/bheng/public/code/scraper/
/usr/bin/python3 main.py

스크립트( chmod +x scraper.bash)에 실행 권한을 부여한 후 다음과 같이 cron을 설정합니다.

* * * * * /home/forge/scraper.bash &>> /home/forge/scraper.log

이제 실행 출력(및 오류)은 /home/forge/scraper.log 파일에서 찾을 수 있습니다. 작업이 실행될 때마다 출력이 로그 파일에 추가됩니다.

답변3

MAILTO파일의 설정은 일반적으로 crontab인터넷 전자 메일 전달용이 아니라 root또는 와 같은 로컬 사용자 계정 전달용입니다 someuser.

관련 정보