将文件上传到服务器并使用Ruby中的NET :: SCP gem删除原始文件

时间:2015-05-20 15:02:02

标签: ruby scp

我使用net/scp gem将文件从我的机器上传到远程Linux服务器。

require 'net/ssh'
require 'net/scp'

Net::SCP.upload!(10.125.0.0,
                user,
                local_path,
                remote_dir,
                :ssh => { :password => psw,
                          :key_data => keys})

这很有效,但我希望能够“移动”。该文件而不是有效地复制它。

是否有一些scp参数会删除原始文件?

1 个答案:

答案 0 :(得分:1)

Net :: SCP没有任何此类参数:

https://github.com/net-ssh/net-scp/blob/master/lib/net/scp.rb#L259-L267

由于副本和移动之间的唯一区别只是源的最终删除,因此您应该在int largest, secondLargest; if (arr[0] < arr[1]) { largest = arr[1]; secondLargest = arr[0]; } else { largest = arr[0]; secondLargest = arr[1]; } 之后手动执行此操作。

upload!

你很可能想要确保Net :: SCP在这之前完成:

File.delete(local_path)
相关问题