crontab执行命令但ruby脚本没有运行

发布于 2024-11-28 12:49:02 字数 647 浏览 1 评论 0原文

我已经为我的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

热血少△年 2024-12-05 12:49:02

尝试:

12 10 * * * /bin/bash  -c 'source /home/user/.rvm/scripts/rvm && cd /home/user/path/ && /home/user/.rvm/bin/ruby-1.9.2-p136 -rubygems script.rb'

Try:

12 10 * * * /bin/bash  -c 'source /home/user/.rvm/scripts/rvm && cd /home/user/path/ && /home/user/.rvm/bin/ruby-1.9.2-p136 -rubygems script.rb'
守不住的情 2024-12-05 12:49:02

如果您在项目中使用 .rvmrc 文件来为您的项目设置 ruby​​ 版本。然后你需要告诉 rvm 信任 ~/.rvmrc 中的 rvmrc 文件,

rvm_trust_rvmrcs_flag=1

这将禁用提示并且你的 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

rvm_trust_rvmrcs_flag=1

this will disable prompt and your cron will not hang.

够运 2024-12-05 12:49:02

尝试在终端中运行 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文