通过cron更新博客网站不起作用

时间:2013-09-22 11:01:59

标签: ruby git cron rvm octopress

目前我的博客网站与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

我知道必须与环境有关系,但我无法明确表明它正在运行。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

而不是更改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