Upload and download files to/from the SSH server via the scp protocol.
Directories in the files argument are automatically traversed and
uploaded / downloaded recursively.
Usage
scp_download(session, files, to = ".", verbose = TRUE)
scp_upload(session, files, to = ".", verbose = TRUE)Arguments
- session
ssh connection created with
ssh_connect()- files
path to files or directory to transfer
- to
existing directory on the destination where
fileswill be copied into- verbose
print progress while copying files
Details
Note that the syntax is slightly different from the scp command line
tool because the to parameter is always a target directory where
all files will be copied into. If to does not exist, it will be
created.
The files parameter in scp_upload() is vectorised hence all files
and directories will be recursively uploaded into the to directory.
For scp_download() the files parameter must be a single string which
may contain wildcards.
The default path to = "." means that files get downloaded to the current
working directory and uploaded to the user home directory on the server.
See also
Other ssh:
ssh_connect(),
ssh_credentials,
ssh_exec,
ssh_tunnel()
Examples
if (FALSE) { # \dontrun{
# recursively upload files and directories
session <- ssh_connect("dev.opencpu.org")
files <- c(R.home("doc"), R.home("COPYING"))
scp_upload(session, files, to = "~/target")
# download it back
scp_download(session, "~/target/*", to = tempdir())
# delete it from the server
ssh_exec_wait(session, command = "rm -Rf ~/target")
ssh_disconnect(session)
} # }
