加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何测试crontab中的东西

发布时间:2020-12-16 22:10:27 所属栏目:百科 来源:网络整理
导读:这一直在发生在我身上: 1)我写一个脚本( ruby,shell等). 2)运行它,它工作. 3)把它放在crontab中,所以它运行在几分钟,所以我知道它从那里运行. 4)它没有,没有错误跟踪,回到步骤2或3一次1000次. 当我的ruby脚本在crontab中失败时,我无法真正知道为什么它失败
这一直在发生在我身上:
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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读