업무 시간 동안 cron이 매 시간마다 작업을 수행하게하는 방법은 무엇입니까? *

평일 영업 시간 동안 매시간 두 번 스크립트를 실행하려고하는데 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 -사용자


답변