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


3

평일 영업 시간 동안 매시간 두 번 스크립트를 실행하려고하는데 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 분에 시스템을 외부 디스크에 백업합니다.

내가 무엇을 놓치고 있습니까?


cron 로그 (예 : /var/log/cron.log) 또는 syslog에 무언가가 있습니까? 또한 대시 대신 쉼표로 구분하여 매시간, 요일마다 글을 쓰려고 했습니까?
Toine42

cron.log가 없습니다. syslog에는 다음과 같은 많은 메시지가있었습니다. May 25 15:17:01 box CRON [5582] : (root) CMD (cd / && run-parts --report /etc/cron.hourly) 및 또한 일부는 다음과 같습니다. 5 월 25 일 07:54:25 box anacron [3594] : 일반 종료 (1 작업 실행) (이 형식을 더 잘 지정하는 방법을 모름) 제안한 방식으로 crontab의 형식을 지정하려고합니다. 그리고 어떻게되는지보십시오.
memius

스크립트가 환경 변수를 사용합니까? 이것을보십시오 .
Kamil Maciorowski

환경 변수 없음 : 8,48 12,13,14,15,16,17 * * 5,6,7 echo ding> ~ / crontasklogg.txt로 변경했으며 아무런 변화가 없습니다. 아무 반응이 없습니다. 파일에 딩이 없습니다.
memius

문제가 crontab 항목이 아닌 Python 스크립트 자체에 있다고 생각합니다. 의 내용을 게시 할 수 있습니까 script.py?
Larssend

답변:


2

귀하의 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 -사용자

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.