Запуск граблей при запуске Ubuntu - PullRequest
1 голос
/ 02 июня 2011

Привет У меня возникли некоторые проблемы с настройкой задачи rake для запуска при запуске / перезагрузке экземпляра ubuntu на Amazon EC2.

Мне нужно, чтобы мой экземпляр запускал простые отложенные задания "команда rake jobs: work "при запуске нового экземпляра, без необходимости входа в систему с помощью ssh и запуска команды вручную.Проблема в том, что я не могу заставить его выполнить команду.Он работает нормально с терминала, но не сам по себе при запуске.Я пытался следовать инструкциям по этой ссылке , но, похоже, ничего не работает.

Я работаю с экземпляром Natty 11.04 и установил ruby ​​и gems через rvm.

1 Ответ

3 голосов
/ 02 июня 2011

Вам нужно будет вызвать что-то в скрипте bash, которое выглядит так:

su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=development jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1

Затем вызовите это из вашего /etc/init.d/mystartup_filename.Файл может выглядеть примерно так:

#! /bin/sh
RAILS_ROOT="/home/deploy/rails_root"
ENV="development"

case "$1" in
    start)
    echo -n "Starting my job: "
    su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:work" >> $RAILS_ROOT/log/myjob.log 2>&1
    echo "done."
    ;;
    stop)
    echo -n "Stopping my job: "
    su - deploy -c "cd $RAILS_ROOT && rake RAILS_ENV=$ENV jobs:stopwork" >> $RAILS_ROOT/log/myjob.log 2>&1
    echo "done."
    ;;
    *)
    echo "Usage: $N {start|stop}" >&2
    exit 1
    ;;
esac

exit 0
...