从crontab运行bundle exec

时间:2016-09-12 18:06:40

标签: ruby linux bash

我需要能够从crontab运行bundle exec ...,但由于我对用户的登录配置文件进行了一些更改,因此在启动时调用了脚本,因此无法正常工作。

所以,我曾经有bash -lc 'BUNDLE_GEMFILE=/location/of/Gemfile bundle exec /location/of/script'

但是,我不能再这样做了,因为我的用户~/.profile的末尾会调用一个whiptail菜单对话框(menu.sh),因此,任何bash -l命令都会调用{{1} }}。

我已尝试将crontab行更改为menu.sh,但这也不起作用。

还有其他方法吗?我应该注意,我试图运行的ruby脚本确实需要使用我放在bash -c 'BUNDLE_GEMFILE=/location/of/Gemfile bundle exec /location/of/script'中的环境变量。

2 个答案:

答案 0 :(得分:0)

如果我摆脱bash -lc并引用bundle的完整路径,它看起来很有效:

BUNDLE_GEMFILE=/location/of/Gemfile /root/.rbenv/shims/bundle exec /location/of/script

答案 1 :(得分:0)

您还可以使用名为Whenever的宝石:

Gem Whenever

crontabrake

会让您的生活更轻松