Cron Ubuntu不会解决ruby方法

时间:2011-03-10 13:38:27

标签: ruby ubuntu cron

crontab -l给了我这个

0,2,4,6,8,10 * * * * /bin/bash -l -c 'cd /home/ruben/Monitoring ; script/rails runner Ping.check_pings'

为什么这不起作用? 如果我在命令行中尝试“cd / home / ruben / Monitoring; script / rails runner Ping.check_pings”,它可以工作。我也试过“&&”作为“;”

2 个答案:

答案 0 :(得分:0)

问题可能与PATH或某些其他环境变量(如GEM_HOME)有关,这些变量在命令行环境中正确定义,但不在cron的环境中定义。

答案 1 :(得分:0)

crontab不会与用户的环境一起运行,而是创建它自己的瘦身环境。这包括非常小的PATH - / usr / bin:/ usr / sbin:。和一些其他变量。点击此处了解更多信息 - http://adminschoice.com/crontab-quick-reference

最简单的解决方案是添加'。 〜/ .profile'在你运行rails之前,或以其他方式修复路径。

BTW,在你尝试将PATH = / my / path / here; $ PATH添加到crontab之前 - 不允许语法(变量扩展)