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

Does the sftp in linux get files that are partially being transferred?

我有以下设置:

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

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

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

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

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

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