rake ts:rebuild不能用作crontab任务

时间:2011-02-16 06:42:29

标签: ruby-on-rails ruby indexing sphinx

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /bin/bash -l -c 'cd /var/www/rails/xxx/releases/20110105175853 && RAILS_ENV=production rake ts:rebuild --silent'
嗨,伙计们。这是每当生成的crontab任务。它正在重建狮身人面像指数。  它作为crontab任务运行时不起作用,/ var / log / cron日志中没有错误。但是当我手动运行命令时它会起作用。

任何人都可以提供帮助吗?非常感谢你。

1 个答案:

答案 0 :(得分:2)

你的cron任务看起来很奇怪。不确定你是想一直调用ts:rebuild,你只需要重新启动服务器重新启动,更新你运行的索引ts:index,下面是我用于我的rails应用程序的cron任务,它每5分钟刷新一次狮身人面像指数。

如果你使用用户crontab这应该工作:

*/5 * * * * cd /home/appuser/rails-app; RAILS_ENV=production rake ts:index >> /dev/null

如果你把你的crons放在/etc/cron.d/中,你需要添加用户名,如下所示:

*/5 * * * * appuser cd /home/appuser/rails-app; RAILS_ENV=production rake ts:index >> /dev/null

这些设置适用于Ubuntu盒子,但应该适用于大多数Linux发行版。

希望这有帮助。