2017-08-09 7 views
0

SQLクエリを含むRスクリプトを実行し、.csvファイルをインポートしてマネージャーと操作に毎日メールします。しかし、私はこのプロセスを自動化することを楽しみにしていますので、私が自動化するためにすべきステップを親切に教えてください。Rスクリプトの実行の自動化

.csvファイルにはデイスタンプがあります。

mydb = dbConnect(MySQL(), user='*******', password='******', dbname='********', host='*****8***') 

setwd('C:\\Users\\******\\Work\\2. ****\\26. Cluster_Bags') 

#Change the data here 
startdate='2017-07-24' 

sql_text=paste("SELECT ********************************, 


FROM ******************** 
WHERE *********** 
       ") 
ClusterwiseBag=dbGetQuery(mydb,sql_text) 

#Creates a file with the name "Clusterbag date.csv"   
b=paste("Clusterbag",startdate,".csv",sep="") 

write.csv(ClusterwiseBag,b) 
+1

あなたは 'PHP'を使用していますか?もしそうなら、これに 'cron job'を使います。 –

+2

あなたのスクリプトを実行するバッチファイルを作成することができます( '' c:\ Program Files(x86)\ R \ R-3.3.0 \ bin \ x64 \ Rのようなもので構成された.batファイルです) "CMD BATCH d:/ Data/Test/YourScript.r' 2)バッチファイルをWindowsタスクスケジューラ(Windowsを使用している場合、他のOSには独自のスケジューラがある場合)で1日1回実行するようにスケジュールします。また、Rから電子メールを送信するには、https://stackoverflow.com/questions/23412265/how-do-you-send-email-from-r – Ape

答えて

1

これは、私は、スクリプトの自動化については移動する方法です:

最初の変更STARTDATEに:
STARTDATE = Sys.Date()

あなたが好きなら、と例えば、自動メールを追加します。
ライブラリ(mailR)= "[email protected]" から
SEND.MAIL(= Cの( "[email protected]"、 "[email protected]")に

被験者= "更新"、本体= ""、= Tを認証し、
SMTP =リスト(host.name = "smtp.gmail.com"、ポート= 465、
user.name = "から" は、passwd = " 123456" 、SSL = T)、
attach.files = C(B))

その後アドインtaskscheduleR毎日実行するスクリプトをできるようにRStudioを使用しています。

+0

を参照してください。send.mailのエラー(from = ""から= cで( "***")、:? –

+0

はたぶん、ライブラリがまだインストールされていない "SEND.MAIL" 機能を見つけることができませんでしたが(最初のライブラリ(mailR)とSEND.MAIL前install.packagesは( "mailR")を試してみてください...) –

+0

私は試しましたが、それでも同じエラーが表示されます –

関連する問題