linux 中的 sftp 是否获取正在部分传输的文件?
Does the sftp in linux get files that are partially being transferred?
我有以下设置:
A ==[sftp put]==> B <==[sftp get]== C
- [服务器 A] 使用 sftp put 命令将文件放入 [服务器 B]。
- [服务器 C] 有一个批处理尝试将 [服务器 A] 发布的所有文件转发到中间 [服务器 B]。
- 大约每分钟,[服务器 C] 运行一个脚本,从中间 [服务器 B] 获取文件。
- 对于每个传输到 C 的文件,批处理文件将删除
来自 B.
的文件
我担心的是,sftp 请求是否允许(第 3 步)mget 正在由另一个 sftp 命令(第 1 步)部分传输的文件?
有没有办法只获取完整传输的文件?
我真的怀疑 sftp 与原子传输有关,我认为锁定直到 v.5 才可用
你必须以某种方式表明传输已完成,某种完整的文件,并基于此构建你的逻辑。
更多想法:
1.上传到"upload"文件夹,完成后移动或重命名
我有以下设置:
A ==[sftp put]==> B <==[sftp get]== C
- [服务器 A] 使用 sftp put 命令将文件放入 [服务器 B]。
- [服务器 C] 有一个批处理尝试将 [服务器 A] 发布的所有文件转发到中间 [服务器 B]。
- 大约每分钟,[服务器 C] 运行一个脚本,从中间 [服务器 B] 获取文件。
- 对于每个传输到 C 的文件,批处理文件将删除 来自 B. 的文件
我担心的是,sftp 请求是否允许(第 3 步)mget 正在由另一个 sftp 命令(第 1 步)部分传输的文件?
有没有办法只获取完整传输的文件?
我真的怀疑 sftp 与原子传输有关,我认为锁定直到 v.5 才可用
你必须以某种方式表明传输已完成,某种完整的文件,并基于此构建你的逻辑。
更多想法: 1.上传到"upload"文件夹,完成后移动或重命名