평일 영업 시간 동안 매시간 두 번 스크립트를 실행하려고하는데 cron 설정에 다음이 있습니다.
\# m h dom mon dow command
8,48 8-17 * * 1-5 python ~/documents/scripts/script.py
그러나 아무것도 수행되지 않습니다. 나는 이것에 변형을 시도했지만 아무 일도 일어나지 않는 것 같습니다. 스크립트를 수동으로 실행하면 정상적으로 작동합니다.
내 유일한 다른 크론 스크립트는 시계처럼 실행됩니다.
45 5 * * * python ~/documents/scripts/rdiff.py
매일 아침 5시 45 분에 시스템을 외부 디스크에 백업합니다.
내가 무엇을 놓치고 있습니까?
답변
귀하의 crontab 시간 사양이 정확합니다. 방금 다음과 같이 확인했습니다.
1,41 0-17 * * 1-5 /bin/echo 'running'
두 번째 crontab 항목이 python
제대로 실행되면 기본 환경에서 찾을 수 있습니다 (일반적으로 실행 파일에 전체 경로를 사용하는 것이 더 안전합니다).
스크립트 자체는 터미널에서 잘 실행되지만 cron에서 시작할 때는 아니기 때문에 문제는 일반 대화 형 세션과 cron이 제공 하는 비 대화 형 세션의 환경 차이에 달려 있다고 결론 지을 수 있습니다 .
이 라인 (여러 SE 사이트에 그들 중 많은)에 따라 답변이 추가 조사를 도울 수 : https://serverfault.com/questions/337631/crontab-execution-doesnt-have-the-same-environment-variables-as-executing -사용자