vsftpd如何确保文件是传输完毕的?

我们都知道ftp上传时文件大小是不断增长的。
例如一个文件自动同步系统,在文件还未传输完成之前就触发同步,会导致文件不完整。

我找到另一个ftp软件:proftpd
它的配置中打开了HiddenStore之后,会先上传 “.in.文件名” 文件,传输完成后再重命名为正常的文件名。这样只要过滤"."开头的文件,就可以确保同步的是完整的文件了。

由于某些原因,我不得不坚持使用vsftpd。
可我自己并没找到vsftpd具有相关功能的线索,也许是我google技术不行。

所以,请问vsftpd中有类似功能吗?

阅读 5.3k
2 个回答

我们都知道ftp上传时文件大小是不断增长的。
Why?

我认为"传送一个还在写入的文件" 这件事情本身就是错误的.

新手上路,请多包涵

vsftp没有这样的功能。

ftp服务器端无法保证收到的文件一定是完整的,这是由FTP协议设计导致的。

一个文件通过FTP协议开始传输时,服务器并不知道这个文件完整的大小是多少。

而一个文件传输结束,是由客户端中断FTP连接来表达的,客户端中断FTP连接也有可能是因为客户端异常了,或者是网络异常中断了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题