我有一个包含http://gist.github.com/235833等系统命令的ruby脚本,当我从shell运行这个脚本时,它工作正常,但是当我将它添加到我的cron作业列表中时,它不再起作用, cron的工作就像:
10 / * * * * * cd / home / hekin; / usr / bin / ruby my_script.rb
知道我做了什么出了什么问题?谢谢。
答案 0 :(得分:1)
谢谢大家的回答。
这是我的错误。
由于我在本地机器上使用ssh密钥转发,当我从shell执行脚本时,ssh密钥转发相关的环境变量都在那里,但是从cron作业上下文中,缺少那些环境变量。 / p>
答案 1 :(得分:0)
尝试将可能出错的事情分开。我能想到的是:
为了解剖这个问题,我建议你先运行一个非常简单的cron工作,比如'ls'。接下来运行一个单线程脚本。接下来将命令嵌入shell脚本文件中。沿着这些方向,你应该找到问题。
答案 2 :(得分:0)
问题在于您的环境。在你的shell中进行测试时,它的设备齐全,并受到你的shell环境的推动。在cron下运行时非常非常简单。
目的地在哪里“。”为你的脚本?我猜它会是“/”并且可能不是“$ HOME”因此你的脚本将无法在该位置写入并失败。尝试使用绝对路径作为目的地。