Как запустить скрипт Ruby (Rbenv) на Bash Scipt (Crontab) - PullRequest
0 голосов
/ 19 октября 2018

Как мне запустить скрипт ruby ​​(rbenv) в скрипте bash для crontab?

Я попытался:

#!/bin/bash
process=ruby
if ps ax | grep -v grep | grep $process > /dev/null
then
    exit
else
    ruby /home/jason/ruby/project.rb &
fi

exit
enter code here

Это работает, если я запускаю скрипт как:

./{nameofscript}.sh

но он не работает, когда я ставлю его на crontab.Моя настройка crontab такая:

*/2 * * * * root sh /home/jason/ruby/run.sh

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

1 / вам нужно указать sh в вашем crontab (в любом случае замените sh /home/jason/ruby/run.sh на /home/jason/ruby/run.sh)

2 /Вы можете использовать инструкцию nohup перед следующей инструкцией, чтобы она не зависала во время выполнения

nohup ruby /home/jason/ruby/project.rb &
0 голосов
/ 19 октября 2018

rbenv не загружается в сеансе выполнения cron.

Вы можете попытаться добавить их динамически на ваш $PATH, например:

#!/bin/bash

PATH=$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH
process=ruby
if ps ax | grep -v grep | grep $process > /dev/null
then
    exit
else
    ruby /home/jason/ruby/project.rb &
fi
exit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...