我想每四个小时执行一次 rake sunspot:reindex RAILS_ENV=production 命令。为了实现这一点,我使用 shell 编程编写了简单的 bash 脚本。我将在终端中成功运行,但如果我尝试在 crontab 中运行它,则它无法正常工作。正在使用的操作系统是centos。
这是我的 bash 脚本代码
#!/bin/bash
#export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH=/usr/local/rvm/gems/ruby-1.9.2-p290/bin:/usr/local/rvm/gems/ruby-1.9.2-p290@global/bin:/usr/local/rvm/rubies/ruby-1.9.2-p290/bin:/usr/local/rvm/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:
echo "started"
cd /var/www/html/spotchase2
pwd
source /usr/local/rvm/environments/ruby-1.9.2-p290
bundle install
if [ "$?" = 0 ]; then
echo `date`
fi
source /usr/local/rvm/environments/ruby-1.9.2-p290
#/usr/local/rvm/gems/ruby-1.9.2-p290/bin/rake sunspot:reindex RAILS_ENV=production
rake sunspot:reindex RAILS_ENV=production
if [ "$?" = 0 ]; then
echo "complete"
fi
请帮我解决这个问题。
编辑
我正在重定向输出一个文本文件。在那个文本文件中,我才刚刚开始,捆绑安装和日期。我没有收到完整的消息,因此我知道它不起作用,并且在该文本文件上没有收到任何错误。
请帮我解决这个问题。