Rでサーバにファイルをアップロードする

Rのスクリプトで作成したファイルをウエブサーバーなどにアップロードするとき、スクリプト内でアップロードも済ませたい。

# 転送に必要なライブラリーを用意する
install.packages("curl")
library(curl) 

# 転送先のURLを変数に入れておく
# ここではftpsで転送することを想定
# ホスト名のあとの"/"は2つかもしれない(環境による)
# 最後が"/"で終わる

myURL <- "ftps://hostname_or_IP/path_to_directory/" 

# アカウント情報を標準入力でユーザーに求め、変数に入れておく

myUsername <- readline("username? ")
myPassword <- readline("password? ")

# ファイルをアップロードする
# Rで設定されているホームディレクトリにファイルがある場合

curl_upload("local_filename",
myURL, username = myUsername, password = myPassword)

転送先のURLはあらかじめ何らかの方法で確認しておく。例:

  1. Transmitでサーバにアクセス
  2. アップロード先のディレクトリを右クリックし「URLをコピー」

アカウント情報をスクリプト内にハードコードするときは、セキュリティに注意。

同名のファイルが転送先にあると警告なく上書きされる。