【问题标题】:Update of blog site via cron does not work通过 cron 更新博客站点不起作用
【发布时间】:2013-09-27 09:34:28
【问题描述】:

目前我的博客站点与 Octopress 一起与 Git 合作,但目前面临一个问题,即我无法通过 cron 触发的脚本自动更新站点。我正在使用具有以下内容的脚本(update.sh):

#!/bin/bash -x
export PATH=/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin/:/usr/local/rvm/bin/rvm:$PATH
cd /usr/local/repositories 
cd supose.git
git fetch -q --all
cd /usr/local/vhost/octopress
git pull
rake generate
/usr/local/rvm/gems/ruby-2.0.0-p247/bin/jekyll generate

但我总是收到以下错误消息:

+ rake generate
## Generating Site with Jekyll
+ /usr/local/rvm/gems/ruby-2.0.0-p247/bin/jekyll generate
invalid command. Use --help for more information

我知道肯定与环境有关系,但我不明白让它运行的意义。

如果我登录机器并 cd 进入文件夹并执行 rake generat 它就像一个魅力。

【问题讨论】:

  • 在我的脚本中添加了+ [[ -s /usr/local/rvm/scripts/rvm ]] + source /usr/local/rvm/scripts/rvm,它可以工作。请复制您的评论作为答案并接受它。谢谢。

标签: ruby git cron rvm octopress


【解决方案1】:

检查您在登录时拥有的PATHcrontab 给您的那个。它可能完全不同。 rvm 做其他事情以及设置路径。您需要确保我们的PATH 是正确的,并运行rvm 放入您的login 配置文件[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 的脚本。您可以尝试将. ~/.bash_profile ; (path_to_script)/update.sh 作为crontab 命令运行。

【讨论】:

    【解决方案2】:

    使用包装器代替更改 PATH - 这将为您的 ruby​​ 提供环境:

    rvm wrapper ruby-2.0.0-p247 --no-links rake jekyll
    

    然后像这样使用它:

    /usr/local/rvm/wrappers/ruby-2.0.0-p247/rake   generate
    /usr/local/rvm/wrappers/ruby-2.0.0-p247/jekyll generate
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      相关资源
      最近更新 更多