2013-01-11 7 views
0

루비 스크립트가 있습니다. 이전에 작업 한 10 분마다 실행하고 싶지만 스크립트를 잃어 버렸고 다시 작성하려고하는데 작동하지 않습니다. 내가 일을했을 때부터 변경되지 않은 cron 설정이 있지만 여기에는 내가 가진 것이있다.크론 작업이 bash 스크립트를 실행하지 않습니다.

rvm_bin_path=/home/usr/.rvm/bin 
GEM_HOME=/home/usr/.rvm/gems/ruby-1.9.3-p194 
SHELL=/bin/bash 
IRBRC=/home/usr/.rvm/rubies/ruby-1.9.3-p194/.irbrc 
MY_RUBY_HOME=/home/usr/.rvm/rubies/ruby-1.9.3-p194 
__array_start=0 
rvm_path=/home/usr/.rvm 
escape_flag=1 
rvm_prefix=/home/usr 
PATH=/home/usr/.rvm/gems/ruby-1.9.3-p194/bin:/home/usr/.rvm/gems/[email protected]/bin:/home/usr/.rvm/rubies/ruby-1.9.3-p$ 
PWD=/etc 
LANG=en_CA.UTF-8 
_second=1 
rvm_version=1.14.1 (stable) 
_first=0 
GEM_PATH=/home/usr/.rvm/gems/ruby-1.9.3-p194:/home/usr/.rvm/gems/[email protected] 
RUBY_VERSION=ruby-1.9.3-p194 
_=/usr/bin/env 

*/10 *  *  *  *  bash -li -c /home/usr/MeetCal-bot/run-bot.sh 

내가 모든 환경 변수를 추가하는 데 필요한 이유 스와로 크론을 실행하는거야 그것이 루비를 실행하는 데 필요한 모든 것을 갖추고 있습니다 보장 할 수 있습니다. 작업이 실행되면

#!/bin/bash 
ruby /home/usr/bot/bot.rb >> /home/usr/bot/output.txt 

, 그것은 출력한다 :이 인이 모두 동일한 정보로 이전 작업, 그래서 내가

내가 가진 bash는 스크립트 아무것도

를 누락 생각하지 않는다했다. txt, 비어있는 점을 제외하고, 나는 아마도 약간의 출력이있을 것이라고 기대할 것이다. 아마도 루비 에러 메시지 일 것이다.

마지막으로 chmod 777 *을 사용하여 권한 문제를 해결하려고 시도했지만 도움이되지 않았습니다.

로컬 사용자로 루비 스크립트를 실행하면 오류없이 정상적으로 실행되지만 내 사용자로 실행되는 이유는 알 수 있지만 su가 아닙니다.

답변

3

이들이 필요하지 않으므로 나는 -i-c을 사용하지 않을 것입니다. 그냥 해달라고

*/10 * * * * bash -l /home/usr/MeetCal-bot/run-bot.sh 

처음으로.

which ruby >>/home/usr/bot/output.txt을 삽입하면 루비가 전혀 없는지 확인할 수 있습니다. 그리고 오류 메시지를보고, 당신의 루비 호출에

#!/bin/bash 

which ruby >>/home/usr/bot/output.txt 
ruby /home/usr/bot/bot.rb >>/home/usr/bot/output.txt 2>&1 
+1

감사를 2>&1를 추가, 내 주요 문제는 오류 메시지를 볼 수없는 것이 었습니다. 루비 스크립트에서 로컬 파일에 대한 참조가 있었으므로 스크립트 디렉토리에서 cd로 작업해야했습니다. – Adam

관련 문제