In Redmine 0.8.2, I want changeset information fetched automatically, instead of only when someone views the Repository tab of the corresponding project. (I need this so that commit messages containing "refs #42" or "closes #42" have effect as soon as possible.)
The crontab of the user that Redmine runs as has the following entry:
# m h dom mon dow command */5 * * * * ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production
This used to work prior to a server migration, and it works from the command line (as the Redmine user), but it doesn't work from cron. I can see in the syslog that the command is run:
Feb 15 14:05:01 turing /USR/SBIN/CRON[24119]: (www-data) CMD (ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production)
but the database isn't updated. There are no entries in the Redmine logs.
I got this snippet from the Redmine FAQ. I see that the suggested command has been changed to:
rake -f /path/to/redmine/Rakefile redmine:fetch_changesets
but when I run this from the command line it doesn't pick up the configuration, and thus gets "access denied" when accessing the database.
Which alley should I go down? What obvious thing am I forgetting to check?
It's possible that ruby is in the Redmine user's $PATH but not in cron's. Try specifying the full path in the crontab entry.
Also, it would be helpful if you said what error messages or log entries you were getting instead of just saying "doesn't work". The additional information will help with diagnosing the problem.