На локальном сервере (ubuntu) Я установил программу foodsoft, которая написана в ruby. Он также использует bundler, mysql. foodsoft может быть запущен командойcronjob не выполняет скрипт правильно
RAILS_ENV=production bundle exec rails s -b 192.168.0.15
Я также программированного с ш скрипт, который начинается foodsoft, если он не работает:
#!/bin/sh
export DISPLAY=:0
export LANG=de_DE.utf8
ip_adr=$(/bin/hostname -I)
if [ $(pidof ruby) ]
then
echo "online"
else
echo "offline"
cd /home/jondal/foodsoft
RAILS_ENV=production bundle exec rails s -b $ip_adr
fi
Если я запустить сценарий в оболочке, все работает отлично. Но мой cronjob (указанный в crontab) не выполняет скрипт полностью. Она производит следующий текстовый файл:
offline
bundler: command not found: rails
Install missing gem executables with `bundle install`
Если я запустить сценарий ш в оболочке с префиксом окр -i я получаю следующее:
автономном /USR/местные/бен/пачке : 23: in
load': cannot load such file -- /usr/share/rubygems-integration/1.9.1/gems/bundler-1.3.5/bin/bundle (LoadError) from /usr/local/bin/bundle:23:in
'
У вас есть идеи, что я могу сделать?
Вы используете rvm? Возможно, вам нужно будет предпринять дополнительные шаги, чтобы сделать игру rvm приятной с помощью crontab. –
Имеет ли ваш пользователь 'cron' разрешения в каталоге'/home/jondal/foodsoft'? В частности, права на выполнение прав, особенно в 'bin /'? –