Total Pageviews

Thursday, 14 February 2013

FTP传输文件时的经验教训

说是经验教训,其实也是软件的Bug,唉……

1、
NTFS大小写问题导致的文件被误覆盖
使用IE进行FTP上传操作,本地的磁盘格式为NTFS,并且设置了文件名区分大小写,服务器上的文件名设置为不区分大小写
远程目录上有一个abc.mdb文件
本地目录上有一个Abc.mdb文件
问题出在这里
如果我们从本地目录上上传一个abc.mdb文件,IE会提示是否覆盖
但是,如果我们上传的是Abc.mdb(注意大小写)的话,IE将不会提示,直接上传该文件。并且上传完毕后还能在远程目录看到Abc.mdb和abc.mdb两个文件
但是实际上,远程目录上只有一个文件,就是刚刚上传上去的Abc.mdb
IE并没有进行提示,就直接覆盖上去了
我就是因为这样,弄丢了一个数据库,哭啊““

2、CuteFTP的文件下载的鬼
CuteFTP(我 使用的是CuteFTP 8.x版本)在进行下载文件的时候,如果设置为“如存在同名文件则不提示直接覆盖”的话,CuteFTP将首先删除本地文件,然后才开始下载。这样就出现 一个问题。如果远程文件在传输的时候出现错误(实际上不仅限于这种情况,文文末我会说我遇到的那种情况),那么文件无法完全下载完,如果这个时候服务器上 的文件正好又出了什么问题的话,那么这个文件就丢失了。有人说可以用EasyRecovery恢复,我遇到这个情况的时候已经马上停止对文件所在磁盘分区 的一切操作,并立即使用EasyRecovery尝试恢复,可是,恢复失败,根本没有找到那个文件,天知道CuteFTP是用什么方法删除的。
我 遇到的情况是,我上传一个数据库文件,上传到一半的时候,我发现传输停止了,我想是网络的问题,于是停止传输,这时已经把文件的差不多一半上传到服务器上 了(看文件大小可知)。我再次尝试上上传,可是总出错,我确定网络没有问题后,看看日志,竟然说“找不到目录”。我倒,那我刷新目录看看,一切正常,目录 列表可以出来。然后我再尝试重命名服务器上的上传到了一半的文件,这时提示是“找不到该文件”,我的天啊!!怎么会这样。接下来我就很顺理成章的尝试能不 能下载,可是,这回出现的提示是,无法读取文件,我无语……。我想那算了,先不管了,回头来看看本地的那个文件,然而,这时我发现,我的文件找不到了,这 时我才想到是CuteFTP在进行文件下载前把它删除了的,可是服务器却无法返回数据流,等于说,本地文件,被删除了……

就这样,又丢了一个数据库。(后来我用服务器上的上传了一半的文件恢复了一半的数据,还算好吧,我再看看以前备份的数据库有没有那部分无法恢复的数据)

两个数据库,两个教训,要牢牢记住啊。