我在stackoverflow中跟踪了一些其他帖子并使用RVM成功设置了cron rvm cron setup并将一些ENV注入crontab文件.
当我在解决为什么dotenv宝石不能正常工作时,我意识到以下几点:
我放置了我test.rb的文件路径,/home/myuser/ruby/test.rb并将crontab文件如下所示:
* * * * * ruby /home/myuser/ruby/test.rb >> /home/myuser/ruby/output.log
Run Code Online (Sandbox Code Playgroud)
当我把test.rb的输出放在Dir.pwd.输出表明rb在/home/myuser/目录而不是/home/myuser/ruby目录中运行.
虽然我通过手动更改路径有一个修补程序.但我想知道为什么会这样.
默认情况下,用户的cron任务是从用户的主目录执行的.要从正确的目录执行脚本,您必须"cd"到它.
考虑将您的crontab更改为:
* * * * * cd /home/myuser/ruby && ruby ./test.rb >> /home/myuser/ruby/output.log
Run Code Online (Sandbox Code Playgroud)
祝好运!
| 归档时间: |
|
| 查看次数: |
2848 次 |
| 最近记录: |