我有一個cron作業來運行Ruby腳本,該腳本可以在命令行(來自用戶「用戶」)上正常運行,但cron失敗是因爲它找不到ruby寶石TMail。我手工將我的〜/ .gems/dir安裝到我的〜/ .bashrc腳本指向的tmail gem中,作爲Nate的suggested。從Dreamhost調用Rubygem tmail CRONjob
當從shell手動調用(deadpool服務器上)
./home/user/site.com/appdir/testbalances.sh
工作正常,但是從網絡的crontab從afschriftmonito
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in
gem_original_require': no such file to load -- tmail (LoadError) from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in
需要」 : - 接口(相同的命令),我得到一個日誌郵件R/statement_monitor.rb:7
線6和文件afschriftmonitor/statement_monitor.rb的7:7是
需要 '的rubygems' 需要 'tmail'
它似乎CRON從另一臺服務器上運行,或者它忽略了〜/ .bashrc文件?我怎樣才能解決這個問題?這似乎是Dreamhost託管的特定問題,因爲腳本在我的Mac上本地運行良好,並且 - 正如所述 - 從Dreamhost的shell帳戶中可以正常運行。我感到困惑。
不錯的建議,我試了一下,並將.bashrc添加到調用ruby調用的bash腳本中。沒有幫助:-( – 2009-08-30 16:15:01
其實它沒有,在Dreamhost上運行的服務器很混亂,導致了混合信號,但是這個答案解決了原來的問題,謝謝你對我的回答的評論! – 2009-09-08 12:36:09