скрипт для запуска rails runner через cron с помощью rvm - PullRequest
3 голосов
/ 22 февраля 2012

В 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?

Ответы [ 2 ]

6 голосов
/ 22 февраля 2012

Есть как минимум 4 способа заставить cron работать с RVM: https://rvm.io/integration/cron/

лично я предпочитаю 2. Loading RVM environment files in shell scripts.

1 голос
/ 22 февраля 2012

Я думаю, что ваша проблема заключается в следующем: RVM работал правильно только в вашей пользовательской оболочке.Помните, что после установки rvm вы должны написать что-то вроде.

'[[-s "$ HOME / .rvm / scripts / rvm"]] &&.«$ HOME / .rvm / scripts / rvm»

в вашем .zshrc или .bashrc

Сообщите cron, с каким пользователем вы используете rvm, потому что rvm должен загружаться как функция и спользователь, который не загружает rvm как функцию, не будет работать, и системная версия ruby ​​используется автоматически.Пример:

0,30 * * * * USERNAME bash /path/to/my/script.sh

, альтернативно, вы можете установить rvm как многопользовательское шоу в: введите описание ссылки здесь

...