2017-10-27 3 views
1

에서 수동으로 실행할 때 명령은 OK이다 내가 내의 crontab에 다음 항목을 가지고크론 작업이 실행되지 않지만, 쉘

이 항목은 평일에 30 분 간격을 실행하고 출력을 추가 할 예정이다
0,30 7-18 * * 1-5 cd /path/to/scrapers && scrapy crawl funny_quotes &>> $(date "+/home/foobar/logs/\%Y\%m\%d.funny.log" 

실행될 때마다 로그 파일에 저장됩니다. this handy tool을 사용하여 온라인 구문을 테스트했으며 구문이 정확합니다.

그러나 작업이 실행되지 않습니다. 더 나쁜 것은 로그 파일이 생성되었지만 내용이 없으므로 파일 크기가 0이므로 진단 정보가 없습니다.

명령에 cd /path/to/scrapers && scrapy crawl funny_quotes을 입력하면 완벽하게 실행되며 콘솔에서 많은 양의 정보가 출력됩니다.

왜 cronjob이 성공적으로 실행되지 않고 로그 파일에 아무 것도 파이프되지 않습니다.

+0

"funny_quotes"파일이/path/to/scrapers에 있다고 가정합니다. 그런 경우에 이것을 시도해 보셨습니까? 'scrap crawl/path/to/scrapers/funny_quotes & >> $ (날짜 "+/home/foobar/로그/\ % Y \ % m \ % d.funny.log"' – mathB

+0

'& >>'는 배시 4입니다. 구문, 그리고 만약 당신의 크론 작업이 배쉬 4와 함께 실행 궁금하네요. 좋은 구식'2 >> 경로 1> & 2' 대신 시도하십시오. – janos

답변

0

은 크론 로그

grep CRON /var/log/syslog 

난 당신이 유사한 scrapy - command not found이나 뭐 같은 오류 무언가를 얻고 확신

을 확인합니다. 그것을 해결하기 위해

를 입력하고 쉘에서 echo $PATH의 출력을 복사 할.

그리고 파일의 맨 위에 crontab -e

연 다음, PATH=YOUR_COPIED_CONTENTS

를 작성하고 그 작동합니다.