我的ubuntu版本是11.04
我建立一个cron任务
grant@ubuntu:~$ crontab -l
# Begin Whenever generated tasks for: test
* * * * * /bin/bash -l -c 'cd /home/grant/project/test && script/rails runner -e production '\''Test.do_job'\'''
# End Whenever generated tasks for: test
这个命令/bin/bash -l -c 'cd /home/grant/project/test && script/rails runner -e production '\''Test.do_job'\'''
单独可以跑的。但是用cron跑的话出现如下错误
Oct 26 11:47:01 ubuntu CRON[5521]: (grant) CMD (/bin/bash -l -c 'cd /home/grant/project/test && script/rails runner -e production '\''Test.do_job'\''')
Oct 26 11:47:01 ubuntu CRON[5519]: (CRON) error (grandchild #5521 failed with exit status 127)
Oct 26 11:47:01 ubuntu CRON[5519]: (CRON) info (No MTA installed, discarding output)
高手请教,怎么解决
Crontab 任务不能运行?高手请教
-
- 帖子: 2
- 注册时间: 2011-10-26 11:38
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: Crontab 任务不能运行?高手请教
&& ? 改; 试试。
script/rails runner 这啥语法?
最简单的,你整体做一个bash脚步。
如果里面的任何语句,涉及到环境变量,都是要另外指定的。cron和bash环境不同。
cron里面也可以额外指定环境变量。如PATH SHELL等几个。
script/rails runner 这啥语法?
最简单的,你整体做一个bash脚步。
如果里面的任何语句,涉及到环境变量,都是要另外指定的。cron和bash环境不同。
cron里面也可以额外指定环境变量。如PATH SHELL等几个。
● 鸣学
-
- 帖子: 2
- 注册时间: 2011-10-26 11:38
Re: Crontab 任务不能运行?高手请教
问题解决了。
改成这样就可以了。
* * * * * /bin/bash -l -c 'cd /home/grant/project/test && /usr/local/bin/rails runner -e production '\''Test.do_job'\'''
原因是rails命令应该用全路径
改成这样就可以了。
* * * * * /bin/bash -l -c 'cd /home/grant/project/test && /usr/local/bin/rails runner -e production '\''Test.do_job'\'''
原因是rails命令应该用全路径