Я пытаюсь заставить RVM и fcron работать вместе. Очевидно, fcron не читает прямо или косвенно какие-либо переменные env. Что делает 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 ответ1

0

Вышеуказанный скрипт не работает. Мне пришлось установить много дополнительных переменных в 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .