Я пытаюсь настроить работу cron, выполняющую задачу рейка. Я использую драгоценный камень. Вот конфигурация в конфигурации/schedule.rbCron running rake task "не удалось найти rake-0.8.7 в любом из источников"
every 1.minutes do
bundle exec rake "test:pick_participant"
end
кронтаб настроен правильно Когда:
* * * * * /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
Однако Cron сохраняет отчетности (по почте) эту ошибку каждый раз, когда задание RAN :
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <[email protected]> /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
Content-Type: text/plain; charset=ANSI_X3.4-1968
X-Cron-Env: <[email protected]>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/jsmith>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=jsmith>
Message-Id: <[email protected]>
Date: Mon, 7 Nov 2011 16:26:01 -0800 (PST)
expr: syntax error
Could not find rake-0.8.7 in any of the sources
Грабли, включенные в прикладную среду, являются версией 0.8.7.
Команда выданная Cron кажется правильным:
/bin/bash -l -c 'cd /home/jsmith/webapp/releases/2067320376 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
он звонит bundle exec rake
вместо rake
непосредственно.
Кроме того, если я выполняю ту же команду в командной строке внутри каталога приложения, задача грабли выполняется успешно:
[email protected]:~/webapp/current$ /bin/bash -l -c 'cd /home/jsmith/webapp/releases/20111104200246 && RAILS_ENV=production bundle exec rake test:pick_participant --silent'
* picked participant: Mindy!
Каждый имеет какие-либо идеи о том, почему Cron работает в эту ошибку «не удалось найти грабли-0.8.7" ?
Благодарим за упоминание '/ bin/bash -l -c' в crontab. Это также решило мои проблемы с поставщиком. – Roman
Отличный ответ. Спасибо, что поделились своим решением. –