Docker에서 cron을 통해 Python 스크립트를 실행할 때 발생하는 문제

Docker에서 cron을 통해 Python 스크립트를 실행할 때 발생하는 문제

Docker를 통해 실행되는 공식 Ubuntu 14.04.1 컨테이너가 있습니다.

cron은 잘 작동합니다. * * * * * /bin/echo "working" >> /testcrontab에 추가를 사용한 crontab -e다음 cron을 시작하면 start cron예상대로 작동합니다.

내 스크립트는 잘 실행됩니다. 이 작업을 수행했습니다. chmod +x main.py스크립트를 실행하여 모든 출력을 얻을 수 ./main.py있으며 "services.log"는 충돌 없이 잘 작동합니다.

하지만 crontab에 추가 10 * * * * /root/bumpr/main.py하고 start cron무엇이든 하면 "services.log"에 아무 것도 인쇄되지 않습니다.

여기서 문제가 무엇입니까?

답변1

나는 여기서 똑같은 문제를 겪고 있습니다.

해결책: 필요한 것은 다음과 같습니다.

env > /django_app/.env

이유: 분명히 crontab 세션 실행은 환경 변수를 설정하지 않습니다. 이는 docker가 제어하는 ​​환경 변수를 처리하는 다른 방법일 수 있으며, 이로 인해 crontab이 아닌 bash에서 명령이 실행됩니다.

그렇지 않으면: 귀하의 질문과 관련이 없는 경우. crontab 구성에서 이것을 시도하고 로그를 보십시오:

* * * * * /usr/bin/python3 /django_app/manage.py <your_command_here> 2>/django_app/crontab_error.log

Alt -[이메일 보호됨]

관련 정보