Ubuntu 10.04 LTS Cron作业无法正常工作

我正在尝试使用cronjob运行ruby脚本(使用Rails3亚军)与以下的Cronjobs:

#!/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项目文件夹的名称。

“回声”脚本testing“”被添加为一个testing,但似乎都没有执行。 我目前正在使用Ubuntu 10.04 LTS

我有没有写错误的cronjob?

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

 SHELL=/bin/bash MAILTO=administrator@localhost 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' 

另外,请确保以administrator身份调用crontab -e编辑crontab文件。

你需要指定运行这些命令的用户(你可以在这里看到这个格式,而且echo会输出'script test')如果你想要测试的话可以试试看一下文件,这样你就可以看到操作的cron工作。

Cron不使用你的用户环境,所以它不会有相同的路径集。 这意味着你应该使用绝对路径来执行命令。