【发布时间】:2015-06-03 04:13:39
【问题描述】:
我关注了 stackoverflow 中的其他一些帖子,并使用rvm cron setup 成功设置了 RVM 的 cron,并将一些 ENV 注入到 crontab 文件中。
当我对dotenv gem 不起作用的原因进行故障排除时,我意识到以下几点:
我将我的test.rb 放在文件路径/home/myuser/ruby/test.rb 中,我的crontab 文件如下所示:
* * * * * ruby /home/myuser/ruby/test.rb >> /home/myuser/ruby/output.log
当我将 test.rb 的输出与Dir.pwd 放在一起时。输出表明 rb 在/home/myuser/ 目录而不是/home/myuser/ruby 目录中运行。
虽然我通过手动更改路径获得了修补程序。但我想知道为什么会这样。
【问题讨论】:
-
默认情况下,如果你不改变你当前所在的目录,你的用户的家是“你所在的地方”。您想要做的是“更改”目录,然后执行您的脚本。考虑:
* * * * * cd /home/myuser/ruby/ && ruby ./test.rb >> /home/myuser/ruby/output.log. -
@PawełDawczak 刚刚尝试过。你说的对!谢谢
-
很高兴它有帮助!刚刚创建了正确的答案!祝你好运!