SFTP:重命名/删除命令间歇性失败

SFTP:重命名/删除命令间歇性失败

我有一个用 Ruby 编写的后台作业,它连接到多个 SFTP 服务器,下载一些文件,最后将下载的文件移动到 sftp 服务器中的另一个文件夹。

问题是该rename命令在仅在一台服务器中时失败。

这个问题的有趣之处在于如果我使用 ubuntu 的 sftp 库或使用 Ruby 的交互式控制台连接到服务器并运行后台作业使用的相同代码,它不会失败。所以,这不是权限问题。


第二种方法:

我使用以下解决方法更新了实现,希望该remove方法能够起作用:

  def move(from_path, to_path)
    sftp.rename(from_path, to_path) do |response|
      sftp.remove(from_path) unless response.ok?
    end
  end

上面的代码通过删除文件来处理大约 75% 的文件。

对于这里可能出现的问题有什么想法吗?

这里使用的库是: https://github.com/net-ssh/net-sftp https://github.com/resque/resque

相关内容