2011-01-21 105 views
3

我试图用一个cronjob运行Ruby脚本(使用Rails3中运动员)具有以下Cronjobs:的Ubuntu 10.04 LTS Cron作业无法正常工作

#!/bin/bash 
    0-59 * * * * echo 'script test' 

    # Begin Whenever generated tasks for: test1 
    * * * * * /bin/bash -l -c '/home/administrator/test1/script/rails runner /home/administrator/test1/app/create_flag.rb >> /home/administrator/test1/test.log 2>&1' 

# End Whenever generated tasks for: test1 

test1的是Rails3中项目的名称夹。

的“回声‘脚本测试’”增加了作为试验,但也似乎被执行。我目前使用Ubuntu 10.04 LTS

我写错了cronjob吗?

+0

你确实有crond在运行,对吗? – derobert 2011-01-21 16:50:16

+0

是的,我相信命令是$#crond? – unicornherder 2011-01-21 17:46:23

回答

2

crontab文件不是一个shell脚本所以你不会在文件的开头需要#!/bin/bash另外,空间有可疑的尝试是这样的:。。。。

SHELL=/bin/bash 
[email protected] 
BASH_ENV=/home/administrator/.bash_profile 

* * * * * /home/administrator/test1/script/rails runner /home/administrator/test1/app/create_flag.rb >> /home/administrator/test1/test.log 2>&1' 

另外,一定要叫crontab -eadministrator编辑crontab文件。

0

Cron不使用您的用户环境,因此它不会拥有相同的路径集。这意味着你应该为命令使用绝对路径。

1

您需要指定运行命令的用户(您可以看到格式为here。此外,echo会输出“脚本测试”的内容?如果您想要进行测试,请尝试对文件进行操作,以便您可以实际看到cron作业的作用