2

サーバーに単一の ruby​​ コマンド ( jekyll build --source /path/to/source/dir --destination /path/to/dest/dir) を毎時 2 分後に実行するように指示するシェル スクリプトを実行するように cron ジョブを設定しています。ターミナル経由でスクリプトを実行すると、スクリプトは正常に実行されますが、cron は起動していないようです。cron の環境がユーザーの環境と同じではないことはわかっており、.bash_profile他の場所のアドバイスに従って、ユーザーの ruby​​ 環境が定義されている my にソース パスを設定しました。私は今かなり途方に暮れています。

crontab エントリは次のようになります。

2 * * * * . $HOME/.bash_profile ~/jek.sh

の関連セクションである FWIW は、.bash_profileRVM がインストールされたときに自動的にセットアップされます (共有ホスティングでは、多少時代遅れの ruby​​ を使用して、サーバーの独自の ruby​​ ディレクトリに書き込むことができずに Jekyll を起動して実行することは、RVM を使用することを意味します。これは機能するようです。まったく問題ありません)、次のとおりです。

PATH=$PATH:$HOME/bin

export PATH

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

cron 環境で使用するために自分のユーザー プロファイルを間違って呼び出していますか? 構文に明らかな何かが欠けていますか? どんな助けでも大歓迎です。

4

3 に答える 3

3

$HOMEcron の環境ではどのように評価されると思いますか?

を使用しているためrvmこれはcronジョブを実行する正しい方法です

于 2013-10-04T13:15:33.743 に答える