在 Redmine 0.8.2 中,我希望自动获取变更集信息,而不是仅在有人查看相应项目的“存储库”选项卡时才获取。(我需要这样做,以便包含“refs #42”或“closes #42”的提交消息尽快生效。)
Redmine 运行的用户的 crontab 具有以下条目:
# mh dom mon dow 命令 */5 * * * * ruby /var/www/redmine/script/runner Repository.fetch_changesets -e 生产
在服务器迁移之前,此功能曾经有效,并且可以通过命令行(作为 Redmine 用户)运行,但无法通过 cron 运行。我可以在系统日志中看到该命令已运行:
2 月 15 日 14:05:01 图灵 /USR/SBIN/CRON[24119]: (www-data) CMD (ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production)
但数据库没有更新。Redmine 日志中没有条目。
我从Redmine常见问题。我看到建议的命令已更改为:
rake -f /路径/到/redmine/Rakefile redmine:fetch_changesets
但是当我从命令行运行它时,它不会获取配置,因此在访问数据库时会出现“拒绝访问”的情况。
我应该走哪条小巷?我忘记检查什么显而易见的东西了?
答案1
ruby 可能位于 Redmine 用户的 $PATH 中,但不在 cron 中。请尝试在 crontab 条目中指定完整路径。
*/5 * * * * /path/to/ruby /var/www/redmine/script/runner Repository.fetch_changesets -e production
另外,如果您能说出您收到的错误消息或日志条目,而不是只说“不起作用”,那将很有帮助。附加信息将有助于诊断问题。