同步文件夹和FTP服务器
1. 目的
这个功能可用于更新一台Internet服务器,比如更新个人主页。页面在本地计算机上编辑,仅上传修改的页面。为了正确操作,你需要特别小心,因此请仔细阅读下文。
2. 文件日期/时间和FTP的问题
正常情况下你在本地文件夹之间复制文件时,文件保持上次修改的日期和时间。但是当上传到FTP服务器时,经常无法告诉服务器文件的日期/时间!因此,上传文件的时间总是FTP服务器的本地当前时间!这是个问题,因为即使上传了文件,本地和远程文件夹仍然不同!只有某些服务器才支持以下命令之一:MDTM,MFMT或SITE UTIME,可修改远端文件时间。
3. Total Commander如何解决这个问题
如果服务器不支持MDTM,MFMT或SITE UTIME,同步功能在文件上传成功后将本地文件的日期/时间标签修改为服务器上的文件时间。现在两个文件看起来一样了!但是这又会引发其他问题:你不能在这个本地文件夹和同机器上其他文件夹(或另一台FTP服务器)之间同步,因为每次上传文件后,它的日期/时间都会变!因此这一点很重要:如果你在本地文件夹和FTP之间使用了同步功能 ,这个文件夹不要再和其他文件夹同步! 新功能: 如果选中了忽略日期,Total Commander不改变本地文件的日期/时间。
4. 其他问题和解决方法
问题:FTP服务器可能与你的计算机不在同一时区!比如,服务器可能位于加州,而你在纽约,甚至欧洲!
解决方法:开始比较文件夹前,选择你和服务器之间的时差(小时)。如果服务器位于西方,时差是正数。例如:从纽约到加州时差3小时,从德国到加州9小时。注意:如果使用命令MLSD获取文件列表,大多数服务器返回的时间标签是国际标准时间(UTC),与时区无关。这种情况下时差必须设置为0!
问题:开始同步前,你用Total Commander或其他工具直接上传了文件,现在,即使相同文件看起来也不同了!
解决方法:为了避免重新上传或下载本来相同的文件,选择那些你知道确实相同的文件,点击右键,选择把本地文件日期改为远端文件日期。这会让两侧文件看起来相同。
问题:Unix主机区分大写和小写文件名。但是Windows只能显示大小写混合的名字,并不区分仅大小写不同的文件。
解决方法:Total Commander向FTP服务器上传文件时,如果服务器上已有同名、仅大小写不同的文件, 上传的文件(本地)将变为那个已存在文件的名字。这可以避免同一文件夹内存在两个同名文件。如果你想用本地文件的名字上传,必须先删除远端的目标文件(选中后右键菜单->删除)。对于服务器上没有的文件,你可以选择上传文件时保留原名,或名字转换为小写。
问题:Unix主机保存文本文件的方式与DOS/Windows不同。Unix用一个字符保存行尾标志,而DOS/Windows用两个字符(回车/换行)。因此Unix上的文本文件(包括HTML)比DOS上的小!
解决方法:当Total Commander遇到两个时间相同、大小不同的文件时,它统计本地文件的行尾标志,由此计算Unix格式文本文件的大小。如果大小相同,同步窗口内显示这个标志:
更多信息参考 同步文件夹 对话框。