使用Ruby和SCP/SSH,如何在上载副本之前确定文件是否存在

Zan*_*ndo 2 ruby scp file-upload net-ssh

我正在使用SCP将文件上传到远程服务器,但在这样做之前,查看该文件是否存在的正确方法是什么?

EmF*_*mFi 9

你不能用scp做到这一点.但是你可以用sftp做到这一点. 它看起来像这样:

require 'net/sftp'

remote_path = "/path/to/remote/file"
Net::SFTP.start('host', 'username', :password => 'password') do |sftp|
  sftp.stat!(remote_path) do |response|
    unless response.ok?
    sftp.upload!("/path/to/local/file", remote_path)
  end
end
Run Code Online (Sandbox Code Playgroud)