我需要从R内部将文件推送到远程服务器。它需要是原子的(或接近原子的)。从概念上讲,我的想法是首先将其scp到tmp目录,然后将其移动到最终目的地。从R做到这一点有什么好办法?我在Linux系统上,如果那是相关的。
答案 0 :(得分:3)
在R.中使用system
来电:
system("scp foo.dat remote:/tmp/foo.dat.tmp")
system("ssh remote mv /tmp/foo.dat.tmp /drop/foo.dat")
您可能需要一些额外的参数ssh
您可能还想为临时文件名生成一个随机数。
当然这需要服务器上的scp / ssh服务器和mv
,两端的GNU / Linux最简单。
您应该在尝试scp
之前检查mv
命令的返回状态,看它是否成功完成。