2011-03-10 5 views
0

의 crontab -l이는크론 우분투는

0,2,4,6,8,10 * * * * /bin/bash -l -c 'cd /home/ruben/Monitoring ; script/rails runner Ping.check_pings' 

왜이 작동하지 않습니다 나에게주는 루비 방법을 해고하지 않는 이유는 무엇입니까? 명령 줄에서 "cd/home/ruben/Monitoring; script/rails runner Ping.check_pings"을 시도하면 작동합니다. 나는 또한 "& &"을 ";"로 사용해 보았습니다.

답변

0

이 문제는 PATH 또는 다른 환경 변수 (GEM_HOME 등)와 관련 될 수 있습니다.이 환경 변수는 사용자의 명령 줄 환경에서는 제대로 정의되지만 cron 환경에서는 정의되지 않습니다.

0

crontab은 사용자의 환경과 함께 실행되지 않고 자체 슬림화 된 환경을 만듭니다. 여기에는 매우 작은 PATH -/usr/bin :/usr/sbin :이 포함됩니다. 및 기타 변수가 있습니다. 더 자세히보기 - http://adminschoice.com/crontab-quick-reference

가장 쉬운 해결책은 '을 (를) 추가하는 것입니다.' ~/.profile '을 실행하거나 다른 방법으로 경로를 수정하십시오.

현재, PATH =/my/path/here; $ PATH를 crontab에 추가하기 전에 해당 구문 (변수 확장)이 허용되지 않습니다.