我搞砸了,从我的异地备份位置(ftp服务器)下载了大约10GB的文件,而没有检查客户端的“保存时间戳”选项。
具有本地文件的PC是使用WiMax(4G蜂窝)连接进行互联网访问的上网本,该操作耗尽了我所有的每月带宽,再加上250美元的额外带宽。
我在更新ftp服务器上镜像副本的应用程序时遇到问题,因为它认为一切都是新的,因为所有文件都具有相同的时间戳,并且似乎比服务器上的副本更新。 它想重新上传一切,这不是一个可以接受的select。
除了再次下载所有的〜10GB,我正在寻找一种方法将时间戳从ftp托pipe文件转移到相应的本地文件。 有没有人知道一个办法呢?
我关心的另一个问题是,这两个位置中存在的一些文件已经发生了变化,如果我没有考虑到这一点就更改了所有的时间戳,恐怕以后有些文件不会被镜像。 除了改变所有的时间戳,我将需要一种方法来比较每个位置的文件之间的差异,并根据散列或其他内容更新服务器的文件。 幸运的是,ftp服务器确实支持散列。 我不知道哪个客户端可以做我需要做的事情来做到这一点。 有人也可以build议客户这样做吗?
提前致谢。
更新:
我在ftp客户端的论坛上发布了一个类似的消息,并得到了一个回复,build议我重新从头开始整个传输,当客户端询问如何处理本地已存在的文件时,将其设置为“恢复”文件转让。
目前这个操作正在做它的事情,因为现在客户端被设置为保留时间戳,所以它将把它们全部改变到服务器上的时间戳,就像我需要的那样。
我也犯了同样的错误。 下载许多文件,而不保留时间戳。 虽然作者find了一个解决scheme,但他没有说明他使用了哪个FTP客户端。
以下解决scheme将更新FileZilla Client通过FTP提供的文件 (在Microsoft Windows中标记为“date modified”)的时间戳。 我还没有find同步文件夹时间戳的解决scheme。
使用FileZilla 3.7.3
1.打开保存时间戳: Transfer > Preserve Timestamp ...
2.打开恢复传输: Transfer > Default file exists action...
3.然后, Downloads: Resume file transfer (或设置上传,如果时间戳错误是在另一个方向)
4.重新开始下载。 现有的已完成文件将更新其时间戳。
注意:FTP是一个相对简单的协议,因此recursion列表将在远程FTP服务器上的每个目录上重新发布。 对于有很多文件和目录的服务器,这将需要一些时间。
如果您的服务器是SFTP ,则可以使用WinSCP同步时间戳。
1.导航到正确的目录
2. Commands > Sychronize
3.如果连接到SFTP服务器,则会在“模式”下看到“同步时间戳”选项
请参阅https://winscp.net/eng/docs/task_synchronize_full#mode