Upload an Entire Directory through SFTP with R
July 28, 2019
I wanted to speed up the process of uploading this website to the hosting server, as opposed to doing a lot of drag and drop to the ftp client. It turned out to be super easy using R. If you need to do the same, the following code can help get you there. It will replace old files and directories and create new ones as needed.
Simply set your working directory to the root directory that holds the folders/files you want to upload. Then do the following:
- Replace
Userwith your username - Replace
Passwordwith your password - Replace
FTPServerwith the server name - Replace
your_directory_namewith the root directory on the server you want to update - Run the code below and you are golden.
library(RCurl)
files_for_upload <- list.files(getwd(),
full.names=F,
recursive = TRUE)
for (file_for_upload in files_for_upload) {
print(file_for_upload)
ftpUpload(file_for_upload, paste0("sftp://User:Password@FTPServer/your_directory_name/",
file_for_upload),
.opts = list(ftp.create.missing.dirs=TRUE)
)
}