vsftpd如何确保文件是传输完毕的?
我们都知道ftp上传时文件大小是不断增长的。
例如一个文件自动同步系统,在文件还未传输完成之前就触发同步,会导致文件不完整。
我找到另一个ftp软件:proftpd
它的配置中打开了HiddenStore之后,会先上传 “.in.文件名” 文件,传输完成后再重命名为正常的文件名。这样只要过滤"."开头的文件,就可以确保同步的是完整的文件了。
由于某些原因,我不得不坚持使用vsftpd。
可我自己并没找到vsftpd具有相关功能的线索,也许是我google技术不行。
所以,请问vsftpd中有类似功能吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为"传送一个还在写入的文件" 这件事情本身就是错误的.
vsftp没有这样的功能。
ftp服务器端无法保证收到的文件一定是完整的,这是由FTP协议设计导致的。
一个文件通过FTP协议开始传输时,服务器并不知道这个文件完整的大小是多少。
而一个文件传输结束,是由客户端中断FTP连接来表达的,客户端中断FTP连接也有可能是因为客户端异常了,或者是网络异常中断了。