我正在努力右心室和克隆一起工作。显然 fcron 不会直接或间接读取任何类型的环境变量。这使得 RVM 毫无用处并且脚本失败。
我有这个适用于 RVM ruby-1.9.3、rvm-gems 等的脚本。虽然我尝试实现以下包装器:
#!/usr/bin/env bash
set -x -v
# load rvm ruby
source /home/user/.rvm/environments/ruby-1.9.3-p0
#ruby /usr/local/bin/morula -s hakmem update
/home/user/.rvm/rubies/ruby-1.9.3-p0/bin/ruby /usr/local/bin/script -s username update
我的 fcrontab 仅执行“/home/user/test.sh”(上面的脚本)。
我尝试过将 SHELL、GEM_HOME、PATH、LANG 和其他变量放在 fcrontab -e 上,但目前没有任何效果。欢迎提出任何想法。
此致
答案1
上述脚本不起作用。为了使它起作用,我不得不在 crontab 上设置许多附加变量。在 FreeBSD 上,我使用以下命令:
# etc/crontab - crontab for FreeBSD
PATH=/home/www/atma/.rvm/bin:$PATH
LANG=en_US.UTF-8
#GEM_HOME=/home/www/atma/.rvm/gems/ruby-1.9.3-p125:/home/www/atma/.rvm/gems/ruby-1.9.3-p125@global
GEM_HOME=/home/www/atma/.gems
SHELL=/usr/local/bin/bash
#minute hour mday month wday who command
30 10 * * * /home/www/atma/.rvm/rubies/ruby-1.9.3-p125/bin/ruby /home/www/atma/opt/scripts/pharmanights
#> /dev/null 2>&1
这是有关 RVM + fcron 的详细博文http://www.convalesco.org/index.php/archives/2385