crontab执行命令但ruby脚本没有运行
我已经为我的 ruby 脚本设置了一个 crontab。
crontab -l
12 10 * * * /bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'
命令 /bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'
运行良好。
在 cron 中,cron 正在执行命令(我检查了 syslog:
sudo tail /var/log/syslog
(user) CMD (/bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb')
)
但脚本没有完全执行。我没有得到预期的结果。
问题的原因可能是什么?如果有人能帮助我,我将不胜感激。
I've set a crontab for my ruby script.
crontab -l
12 10 * * * /bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'
the command /bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb'
runs well.
And in cron, cron is executing the command (I checked the syslog:
sudo tail /var/log/syslog
(user) CMD (/bin/bash -c 'cd /home/user/path/ && /home/user/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -rubygems script.rb')
)
But the script is not executing exactly. I'm not getting the expected out put from it.
What may be the cause of the issue? It'll be grate if some one can help me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试:
Try:
如果您在项目中使用 .rvmrc 文件来为您的项目设置 ruby 版本。然后你需要告诉 rvm 信任 ~/.rvmrc 中的 rvmrc 文件,
这将禁用提示并且你的 cron 不会挂起。
If you are using .rvmrc file in your project to setup ruby version for you project. Then you need to tell rvm to trust rvmrc file in ~/.rvmrc
this will disable prompt and your cron will not hang.
尝试在终端中运行 env -i $SHELL --norc 然后运行 ruby 脚本。终端将具有与 cron 相同的环境
Try running env -i $SHELL --norc in terminal and then run the ruby script. The terminal will have the same environment as the cron