这一直在发生在我身上:
1)我写一个脚本( ruby,shell等).
2)运行它,它工作.
3)把它放在crontab中,所以它运行在几分钟,所以我知道它从那里运行.
4)它没有,没有错误跟踪,回到步骤2或3一次1000次.
1)我写一个脚本( ruby,shell等).
2)运行它,它工作.
3)把它放在crontab中,所以它运行在几分钟,所以我知道它从那里运行.
4)它没有,没有错误跟踪,回到步骤2或3一次1000次.
当我的ruby脚本在crontab中失败时,我无法真正知道为什么它失败导致当我输出管道这样:
ruby script.rb >& /path/to/output
我排序得到脚本的输出,但我没有得到任何错误,我没有得到从bash的错误(如果没有找到ruby或文件不存在)
我不知道环境变量是设置什么,是否是一个问题.原来,要从crontab运行一个ruby脚本,你必须导出大量的环境变量.
有没有办法让我crontab运行一个脚本,就像我自己从终端运行一样?
调试时,我必须重置定时器并返回等待.非常耗时
如何更好地测试crontab中的东西或避免这些问题?
解决方法
“Is there a way for me to just have crontab run a script as if I ran it myself from my terminal?”
是:
bash -li -c /path/to/script
从手册页:
[vindaloo:pgl]:~/p/test $man bash | grep -A2 -m1 -- -i -i If the -i option is present,the shell is interactive. -l Make bash act as if it had been invoked as a login shell (see INVOCATION below).