在crontab
我有:
0,30 * * * * sh /path/to/my/script.sh
在我的script.sh
我有:
#!/bin/bash
rvm use 1.9.2@r321
cd /path/to/my/proyect
rails runner rails_script.rb
但它没有在rvm
中加载1.9.2
,在我的情况下它保留在系统设置1.8.7
。
我应该怎么做才能确保跑步者在rvm
1.9.2
下使用gemset r321
运行?
答案 0 :(得分:6)
至少有4种方法可以让cron使用RVM:https://rvm.io/integration/cron/
我个人更喜欢2. Loading RVM environment files in shell scripts.
答案 1 :(得分:1)
我认为您的问题是:RVM只在您的用户shell中正常工作。记得以后 安装rvm你必须写一些想法。
<。>在你的.zshrc或.bashrc 中'[[-s“$ HOME / .rvm / scripts / rvm”]]&amp;&amp; 。 “$ HOME / .rvm / scripts / rvm”
告诉cron你使用rvm的用户是因为rvm必须作为一个函数加载 并且对于不将rvm作为函数加载的用户,它将无法工作,系统ruby版本将自动使用。 例如:
0,30 * * * * USERNAME bash /path/to/my/script.sh
另外,您可以在以下位置安装rvm作为多用户节目:enter link description here