使用FTP时奇怪的文件损坏。 任何理论?

有时当我通过FTP上传大量小文件时,一些文件的内容将被FTP控制信息所取代。 例如,上传一个网站后,我会注意到一个图像不显示。 当我检查服务器上的图像时,发现它的内容已被类似的东西取代

Response: 125 Data connection already open; Transfer starting. Response: 226 Transfer complete. Status: Directory listing successful 

重现是非常困难的。 我注意到任何损坏的文件,我通常可以重新转发它们。 如果我重新转移整个网站,也许不同的文件将被破坏,也许根本没有。

这个问题一直困扰着我好几年了,那时候我换了我的电脑(两次),我的路由器,电缆调制解调器,而且我已经在全国范围内移动了一半。 我最近没有遇到这个问题,但这可能只是因为我学会了避免它的方法,比如在传输之前将所有东西压缩。 顺便说一句,我使用FileZilla。

我把这个问题描述给了我的一个networking主机。 他们从来没有听说过这样的事情,也没有任何线索。 我很想知道发生了什么事。 就我个人而言,我对使用FTP来处理一些文件甚为遗憾。

非常简单:宇宙(和/或墨菲)惩罚你继续使用彻底过时和不安全的协议,如FTP。

当您使用FTP连接到您的Web服务器时,您的用户名和密码将以未encryption的方式发送,清晰地供大家和大哥阅读。 那么,您使用FTP上传或下载的所有文件的内容。 仅出于安全原因,我强烈build议切换到SFTP,这是SSH的内置function。 任何值得您的业务的虚拟主机提供商都支持SSH和SFTP。

在使用SFTP时,您在服务器端可能遇到的任何FTP问题几乎肯定不会适用,因为SFTP连接由服务器上完全独立的后台驻留程序/服务处理。

与FTPS,FTPES等不同的是,SSH / SFTP实现是非常一致的互操作性。 通过SFTP传输文件时,您不可能遇到奇怪且不可预知的问题。

我的钱是在一个FTP服务器错误(您的主机的问题)。 确保使用最新版本的FileZilla,并将其configuration为logging所有FTP会话,以便如果发现此损坏,可以向主机提供会话日志。 这可能会帮助他们排除故障。

如果你有shell访问你的主机,你可以使用SCP。

只是为了安全起见,我会确保传输设置为“二进制”,有时它传输文件在ASCII模式,这就是你通常会说腐败的地方,所以试试,如果这不能解决你的问题, d看看replace/更新您的服务器和客户端,如果这不帮助,然后看看接口,如果你在那里得到错误…

对我来说,这是因为传输模式设置为ASCII在filezilla中,我设置传输 – >传输types – >自动,以确保它在需要时使用二进制模式)

这解决了我的问题。 希望这可以帮助你们。

您的问题的潜在根源(以及许多其他类似的文件损坏问题)

由于文件中出现重复的数据(例如,大量的零)


和/或别的东西:

– networkingconfiguration相关(MTU大小?!)

– 过时的服务器软件(几年前在Debian中是与这个问题有关的bug)

– 不使用二进制模式


解决方法:

  1. 正如其他人所说,切换到SFTPencryption将最大限度地减less重复数据包/块的发生

  2. 在你的客户端启用压缩 – 如选项1,压缩将做类似的事情


FileZilla门票(6岁) : https : //trac.filezilla-project.org/ticket/4672