web-dev-qa-db-ja.com

Rスクリプトのスケジューリング

データベースからいくつかのデータを取得し、それに対していくつかの操作を実行し、出力を新しいデータベースにポストするRスクリプトを作成しました。

このスクリプトを毎日特定の時間に実行したいのですが、これを効果的に行う方法が見つかりません。

この問題を解決するために私が見ることができるリソースを誰かが推奨できますか?このスクリプトをWindowsマシンで実行しています。

97
ETD

実際、Windowsでは、Schedulerを使用するために最初にバッチファイルを作成する必要さえありません。

  • スケジューラを開きます:スタート->すべてのプログラム->アクセサリ->システムツール->スケジューラ
  • 新しいタスクを作成します
  • [アクション]タブで、新しいアクションを作成します
  • プログラムの開始を選択します
  • Rscript.exeを参照します。ここに:
    "C:\ Program Files\R\R-3.0.2\bin\x64\Rscript.exe"
  • parametersフィールドにファイルの名前を入力します
  • Start inフィールドにスクリプトが見つかるパスを入力します
  • トリガータブに移動します
  • create 新しいトリガー
  • タスクを実行することを選択します毎日、月、...何度か繰り返します。
95
petermeissner

Rスクリプトがmytest.rであり、D:\mydocuments\にあるとすると、次のコマンドを含むバッチファイルを作成できます。

C:\R\R-2.10.1\bin\Rcmd.exe BATCH D:\mydocuments\mytest.r

次に、それを新しいタスクとしてWindowsタスクスケジューラに追加し、トリガー条件を設定します。

バッチファイルを省略することもできます。タスクスケジューラのC:\R\R-2.10.1\bin\Rcmd.exeテキストボックスにprogram/scriptを設定し、Argumentsとして残りの初期コマンドを指定します:BATCH D:\mydocuments\mytest.r

Windowsタスクスケジューラを介したRタスクのスケジューリング (2015年2月11日に投稿)

taskscheduleR:WindowsタスクマネージャーでRスクリプトをスケジュールするRパッケージ (2016年3月17日に投稿)

[〜#〜] edit [〜#〜]

Cmdウィンドウを最小化するために、バッチファイルの使用を最近採用しました(別の方法が見つかりませんでした)。

具体的には、WindowsタスクスケジューラActionsタブに次のように入力します。

Program/script:

cmd.exe

Add arguments (optional):

/ c start/min D:\ mydocuments\mytest.bat ^&exit

mytest.batの内容

C:\ R\R-3.5.2\bin\x64\Rscript.exe D:\ mydocuments\mytest.r params

57
George Dontas

SCHTASKSプログラムを使用してタスクをセットアップしました。起動時にスクリプトを実行するには、次の行に沿って何かを書くでしょう。

SCHTASKS /Create /SC ONSTART /TN MyProgram /TR "R CMD BATCH --Vanilla d:\path\to\script.R"

SCHTASKSの詳細については、 このWebサイト を参照してください。詳細は MicrosoftのWebサイト で。

4
Roman Luštrik

Windowsタスクスケジューラ を使用できます。

3
Mark Byers

現在、RStudioにはこれを行うためのオプションが組み込まれており、最初にパッケージの下にスケジューラーを実行します。

  install.packages('data.table')
  install.packages('knitr')
  install.packages('miniUI')
  install.packages('shiny')
  install.packages("taskscheduleR", repos = "http://www.datatailor.be/rcube", type = 
  "source")

インストール後

**TOOLS -> ADDINS ->BROWSE ADDINS ->taskscheduleR -> Select it and execute it.**

enter image description here

3
Zeeshan

これらの手順を組み合わせて実行すると、"Argument Batch Ignored" R.exeの実行後にエラーが発生しました。これを試してください。うまくいきました。

Windowsタスクスケジューラで:

置換BATCH "C:\Users\desktop\yourscript.R"in引数フィールド

CMD BATCH --Vanilla --slave "C:\Users\desktop\yourscript.R"

0
Starbucks