linux - linux 中的 sftp 是否获取正在部分传输的文件?

标签 linux sftp

<分区>

我有以下设置:

A   ==[sftp put]==>   B   <==[sftp get]==   C
  1. [服务器 A] 使用 sftp put 命令将文件放到 [服务器 B]。
  2. [服务器 C] 有一个批处理尝试将 [服务器 A] 发布的所有文件转发到中间 [服务器 B]。
  3. 每隔一分钟左右,[服务器 C] 运行一个脚本,从中间 [服务器 B] 获取文件。
  4. 对于传输到 C 的每个文件,批处理文件将删除 来自 B 的文件。

我担心的是,sftp 请求是否允许(第 3 步)mget 正在由另一个 sftp 命令(第 1 步)部分传输的文件?

有没有办法只获取完全传输的文件?

最佳答案

我真的怀疑 sftp 与原子传输有关,我认为锁定直到 v.5 才可用

您必须以某种方式表明传输已完成,某种完整的文件,并基于此构建您的逻辑。

更多想法: 1.上传到“上传”文件夹,完成后移动或重命名

关于linux - linux 中的 sftp 是否获取正在部分传输的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27977291/

相关文章:

c# - 如何解决 SSH.NET 中的 'Bad packet length' 错误?

java - 如何使用 java//jscape 为 SFTP 设置 StrictHostKeyChecking=no

linux - 使用 SFTP 在基于 Windows 的服务器(主机)和 Linux 服务器(客户端)之间进行同步

python - 如何在 linux 中读取 python 进程的内存?

python - Arduino Serial.readBytes 与 RPi 通信的奇怪行为

c++ - 链接到具有不同实现(代码)的同名 DLL 或共享库对象 (so) 的两个插件

php - 无效大小错误 - Phpseclib - SFTP 连接

java - 通过 SSH 信任使用 DefaultSftpSessionFactory 进行 SFTP 会引发异常

linux - resolv.conf 在重新启动时被重写

linux - 高资源使用率程序停止/崩溃 linux