Как я могу заставить crontab успешно запустить WEBrick

Я пытаюсь запустить ежечасное задание cron, которое извлекает некоторый код, запускает рельсы и выполняет некоторые тесты (вытягивание кода и тесты на самом деле не имеют значения для этого, поскольку они работают нормально). Вот строка crontab от моего пользователя (у меня Ubuntu 10.04):

0 */1 * * * /home/me/src/dev-setup/scripts/hourly_ui_test_cron_script

и вот сам скрипт (минус комментарии, которые я повторяю себе, git и тестовые материалы):

#!/bin/bash

USER=me
HOME=/home/$USER/
DISPLAY=:0
source $HOME/.bashrc
source $HOME/.rvm/scripts/rvm
PATH=/home/$USER/.rvm/gems/ruby-1.9.2-p290/bin:/home/$USER/.rvm/gems/ruby-1.9.2-p290@global/bin:/home/$USER/.rvm/rubies/ruby-1.9.2-p290/bin:/home/$USER/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cd $HOME/src/project
pgrep -f ruby | xargs kill -9
rails s -e test >> hourly_test.log

и это в основном работает, за исключением того, что мой WEBrick запускается и сразу же завершает работу без ошибок; вот журнал:

=> Booting WEBrick
=> Rails 3.1.3 application starting in test on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting

и в журнале рельсов ничего не зарегистрировано. Я пробовал запускать только rails s, пробовал запускать скрипт из crontab root; ничего не работает (скрипт запускается, если я просто запускаю его из командной строки). Кто-нибудь видел это? ТИА


person negative    schedule 02.03.2012    source источник


Ответы (1)


Не могли бы вы попробовать добавить -d в скрипт, который будет демонизироваться. Посмотрите, что с этим происходит, или вам нужно работать на переднем плане?

Хотя в целом это кажется очень странным, поэтому я надеюсь, что у вас есть веская причина использовать webbrick таким образом.

person simonmorley    schedule 02.03.2012