识别不完整的 SFTP 传输

识别不完整的 SFTP 传输

我正在编写一个 shell 脚本,该脚本将使用 inotify 来监控某些目录中是否有传入的 SFTP 上传。当客户端上传完文件后,该文件将移交给另一个处理该文件的脚本。

现在,如果网络连接在传输过程中中断,会发生什么情况?据我了解,openssh 的 sftp 服务器,服务器上的文件将被关闭,inotify 将报告关闭事件,我的脚本将开始处理未完成的文件。

这显然不是我想要的,所以我需要区分完整和不完整的文件。

现在我最喜欢的做法是,sftp 服务器或客户端在文件名中添加扩展名(例如 .part 或 .filepart),以表明文件不完整。一旦确认传输完成,扩展名就会被删除。

不幸的是,客户端行为不受我控制,因此实现扩展解决方案的唯一方法是在服务器端实现。

现在有什么方法可以让 openssh sftp 服务器为不完整的文件添加 .part/.filepart 扩展名吗?或者有其他方法可以判断文件是否完整?

相关内容