비슷한 문제가있었습니다. Cron은 사용자에게 기대하는 PATH 설정을 사용하지 않고 (사용자로 로그인 할 때) 기본적으로 명령을 실행하는 것처럼 보입니다. 실제로 기본 PATH 설정 (/ etc/profile 또는 다른 위치에있는 설정)을 사용하는 것조차 보이지 않았습니다.
스와 -c '하려면 printenv PATH'userX
을 출력 :
내가 다음 명령을 사용하여 문제를 발견 할 수 있었다 (첫 번째는 크론 명령을 실행하는 것 방법입니다) :/usr/지방/빈 :는/usr/빈/빈 :는/usr/게임
스와 -l userX -c '하려면 printenv PATH'
,
출력 : /opt/ruby-enterprise-1.8.7-2010.02/bin/:/opt/ruby-enterprise-1.8.7-2010.02/bin/:/usr/local/bin:/usr/bin :/bin :/usr/games
첫 번째 명령은 베어 시스템 기본값을 제외하고 어떤 식 으로든 PATH 변수를 채우지 않는 것 같습니다. 필자의 경우 필자는 필요한 (REE) 경로를 /etc/login.defs에 추가하여이 문제를 해결했습니다. 기본값은 다음과 같습니다 :
/etc/login.defs:103:ENV_PATH PATH =/usr/usr/bin :/bin :/usr/games
출처
2011-03-11 13:29:03
vdB
이유를 알게되었습니다 : 루비가 crontab 쉘에 등록되지 않았습니다./bin/bash -c "source/usr/local/rvm/src/rvm/scripts/rvm &&/root/a/ararails/script/rails runner Foo.bar" – c2h2