来自R的原子文件传输

时间:2015-02-19 17:03:18

标签: r

我需要从R内部将文件推送到远程服务器。它需要是原子的(或接近原子的)。从概念上讲,我的想法是首先将其scp到tmp目录,然后将其移动到最终目的地。从R做到这一点有什么好办法?我在Linux系统上,如果那是相关的。

1 个答案:

答案 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命令的返回状态,看它是否成功完成。