【问题标题】:How to run cronjob for ruby script that runs from bash terminal如何为从 bash 终端运行的 ruby​​ 脚本运行 cronjob
【发布时间】:2018-01-18 22:04:52
【问题描述】:

我通常使用 bash 终端运行stinkypete.rb script,然后运行

  ruby stinkypete.rb

我正在尝试在 ubuntu 16.04 中使用 nano 编辑器创建相同的 cronjob,这是我编写的 crontab 行。

*/1 * * * * export /home/orion/.bashrc -c '/home/orion/stinkypete/stinkypete.rb'

检查服务 cron 状态,它正在运行但脚本不起作用。 我需要在 crontab 中加载其他路径吗?

【问题讨论】:

  • 不起作用是什么意思?
  • 你可能想检查这个宝石cron jobs in Ruby
  • 不起作用我的意思是脚本没有运行,我检查过任何时候 gem 但它需要我的脚本没有的配置文件
  • 如果你使用 rvm 或其他 ruby​​ 管理器,这是因为 cron 不知道你的 ruby​​ 和 gems 在哪里,你可能想加载一些 ruby​​ 环境,比如将 ruby​​ 加载到 $PATH` ,检查this
  • 我正在使用 rbenv

标签: ruby ubuntu cron


【解决方案1】:

由于你使用的是rbenv,cron作业在你告诉他之前不会知道你的ruby在哪里,所以你需要先初始化rbenv,所以试试这个

*/1 * * * * /bin/bash -c 'export PATH="$HOME/.rbenv/bin:$PATH" ; eval "$(rbenv init -)"; ruby /home/orion/stinkypete/stinkypete.rb'

【讨论】:

    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 2015-02-16
    • 2020-09-01
    • 1970-01-01
    • 2015-11-08
    • 2020-11-27
    • 2021-07-31
    • 2013-04-05
    相关资源
    最近更新 更多