[英]Why crontab can't use ruby?
由於某種原因,我不能在crontab
使用ruby
。
在控制台中,如果運行echo $(ruby -v)
,它將完美返回ruby
的版本。
但是,我將以下代碼放在crontab中
* * * * * echo $(ruby -v) >> 123.rb
* * * * * echo "123" >> 123.rb
然后我注意到123.rb
僅包含很多123
。
所以我檢查了ruby
的路徑。
root@myserver:~# which ruby
/usr/share/rvm/rubies/ruby-2.3.3/bin/ruby
基本上,我是唯一可以訪問此服務器的用戶,因此我以root
用戶身份安裝所有應用程序。 我是否應該以及如何添加一些link
以啟用root
權限?
在crontab中,輸入完整路徑:
* * * * * echo $(/usr/share/rvm/rubies/ruby-2.3.3/bin/ruby -v) >> 123.rb
* * * * * echo "123" >> 123.rb
應該管用。
或者,添加$PATH
變量:
在控制台中:
echo $PATH
復制值,在crontab文件中添加:
export $PATH="<copied pathes>:/usr/share/rvm/rubies/ruby-2.3.3/bin/"
* * * * * echo $(ruby -v) >> 123.rb
* * * * * echo "123" >> 123.rb
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.