2016-12-21 8 views
1

R markdownを使用して指定した間隔で新しいhtmlページを作成するcronコマンドを作成しようとしています。私はこれがパンデック問題であることを発見しました。cronコマンドでRマークダウンを使用している間にPandoc

私は次のエラーメッセージ私はcronコマンドをログ

Error: pandoc version 1.12.3 or higher is required and was not found (see the help page ?rmarkdown::pandoc_available). Execution halted

を取得するには、私はcronコマンドを実行する際にpandocにそれを指すように.Rmdファイルにを追加することができ、コードの単純なビットがあります?


元の投稿を保持します。これはこの段落の下にあります。

私がしたいことはすべて、test_doc.Rmdというファイルです。

私は、コマンドラインで次のコマンドを実行すると、それが正常に動作します:

RScript -e "library(rmarkdown); render(\"/path/test_doc.Rmd\")" 

しかし、私はcrontabの中で、私は成功を持っていないんだということを実行するとき。私はこれのバージョンを実行しています:

私はうんざりしています。私はそれがファイルパスの問題だとは思わない、私は他のRスクリプト(rmarkdownではない)がcrontabで動いて動作しているからだ。私は、Mac OS X上10.10.5

答えて

1

  1. 完全なパスを回避し、rmarkdownを与え、引用引用符」に
  2. 必要性を、より良い作業ディレクトリをknitr
    25 10 * * * cd /path && Rscript -e 'rmarkdown::render("test_doc.Rmd")' 
    

    をお試しください外側にアポストロフィと内側に標準の二重引用符を付けることで、

+0

私はまだ、これは(それが端末内にありません)crontabの中で動作するようになっていません。アクセス許可の問題になる可能性がありますか?またはパッケージに問題はありますか? –

+0

'/ etc/crontab'またはユーザごとのcrontabを使用していますか?私は_always_ちょうど 'touch/tmp/BeenHereNowDeleteMe.txt'またはいくつかのものから始まり、そこからビルドします。 –

+0

私はユーザーごとのcrontabを使っています。 –

0

は、あなたのcronの先頭にパスを追加し、デバッグの目的で出力をリダイレクト:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 

*/5 * * * * cd /path/to/script/ && Rscript -e 'library(rmarkdown); rmarkdown::render("your_script.Rmd")' >/path/to/script/cron.log 2>/path/to/script/cronerr.log 
関連する問題