2012-02-07 83 views
0

我试图运行rake是基于命令在轨道上红宝石,在cron作业,所以我写了一个bash脚本,并放置在bash脚本中的cron,但我无法做到。如何运行Rails的Ruby的rake命令

这是我想在服务器启动后执行的命令。这是我写这没有被执行

#!/bin/sh 

export RAILS_ENV=production 
/usr/bin/ruby script/delayed_job start 

RAILS_ENV=production ruby script/delayed_job status 

我bash脚本,请帮助我解决这个问题

+0

当迪迪你把脚本?事后重新启动crond吗? – 2012-02-07 11:59:05

+2

你不需要那样做。 cron守护程序会每读入一次“tick”重新读取文件。 – 2012-02-07 12:03:21

+0

我已经将脚本放在rails应用程序的根文件夹中,不知道我没有重新启动crond,在别以为我需要重新启动crond。 – 2012-02-07 12:10:45

回答

0

你是不是缺少一个cd /path/to/your/application命令?

export RAILS_ENV=production 
cd /path/to/your/application && /usr/bin/ruby script/delayed_job start 
+0

我已经将bash脚本放置在rails应用程序的根文件夹中。 – 2012-02-07 12:11:50

+0

在这种情况下,你的crontab读取什么?你能把它粘贴在这里吗? – Swanand 2012-02-07 12:14:27

+0

:这里是crontab * * * * * bash /home/ec2-user/apps/st/rake_delayed_jobs.sh – 2012-02-07 12:17:36

相关问题