Redmine: получить набор изменений из задания cron
В Redmine 0.8.2 я хочу, чтобы информация о наборе изменений выбиралась автоматически, а не только тогда, когда кто-то просматривает вкладку Repository соответствующего проекта. (Мне нужно, чтобы сообщения о фиксации, содержащие "refs #42" или "закрывает # 42", действовали как можно скорее.)
В crontab пользователя, с которым работает Redmine, есть следующая запись:
# mh dom mon dow команда */5 * * * * ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production
Раньше это работало до миграции сервера, и оно работает из командной строки (как пользователь Redmine), но не работает из cron. Я вижу в системном журнале, что команда запускается:
15 февраля 14:05:01 Тьюринг /USR/SBIN/CRON[24119]: (www-данные) CMD (ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production)
но база данных не обновляется. В журналах Redmine нет записей.
Я получил этот фрагмент из FAQ по Redmine. Я вижу, что предложенная команда была изменена на:
rake -f / path / to / redmine / Rakefile redmine: fetch_changesets
но когда я запускаю это из командной строки, он не выбирает конфигурацию и, таким образом, получает "отказ в доступе" при доступе к базе данных.
Какой переулок я должен идти вниз? Какую очевидную вещь я забыл проверить?
1 ответ
Возможно, что ruby находится в $PATH пользователя Redmine, но не в cron. Попробуйте указать полный путь в записи crontab.
*/5 * * * * /path/to/ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production
Кроме того, было бы полезно, если бы вы сказали, какие сообщения об ошибках или записи журнала вы получаете, вместо того, чтобы просто сказать "не работает". Дополнительная информация поможет в диагностике проблемы.