【问题标题】:After uploading a file using Net::Sftp, the file disappears sometimes使用 Net::Sftp 上传文件后,文件有时会消失
【发布时间】:2020-04-28 21:37:48
【问题描述】:

我使用 net-sftp gem 将文件上传到远程服务器。

Net::SFTP.start(host, user, port: port, key_data: [decoded_key], keys: [], keys_only: true, logger: logger, verbose: :debug) do |sftp|
  sftp.upload!(local_file_path, remote_file_path)
end

有时它可以工作并且文件保留在远程 sftp 服务器上。有时它会被下载并很快消失(一两秒后)。我可以通过并行使用 FileZilla 看到它。

有时可以从第一次尝试成功上传一个文件,有时从第二次或第三次尝试上传等等。 如果我手动使用 FileZilla 或从终端使用 sftp,那么一切正常。 成功尝试的调试日志似乎与否相同。没有日志条目表示错误。

宝石版本:

  • net-ssh (5.2.0)

  • net-sftp (2.1.2)

如果您对此问题有任何想法,我将不胜感激。

【问题讨论】:

  • 如果将文件上传到本地主机而不是远程服务器会怎样?如果它仍然消失,则可能是您的代码、库或客户端存在问题;如果它没有消失,那么远程 SSH 服务器可能存在问题。
  • 远程系统上是否有进程删除文件?
  • @Kenster 我不知道,服务器不在我的控制之下。但是如果有这样的过程,那为什么不删除我使用 FileZilla 上传的文件呢?此外,如果文件在下载后(1-2 秒后)仍然存在,那么它不会消失。
  • @anothermh 我想我需要在某个地方找到另一个 sftp 服务器并对其进行测试。
  • @anothermh 谢谢。我这样做了,在新服务器上一切正常。问题出在第一台服务器上。

标签: ruby sftp net-ssh net-sftp


【解决方案1】:

问题出在服务器端。 谢谢大家。

【讨论】:

    猜你喜欢
    • 2022-11-05
    • 2012-03-23
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2013-11-17
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多