需要使本地文件上的所有时间戳与其对应的 ftp 托管文件的时间戳匹配

cdv*_*pot 5 synchronization ftp wimax timestamp

我搞砸了并从我的异地备份位置(ftp 服务器)下载了价值约 10GB 的文件,而没有检查客户端中的“保留时间戳”选项。

带有本地文件的 PC 是一台上网本,它使用 WiMax(4G 蜂窝)连接来访问互联网,并且操作用完了我所有的每月带宽,另外还有 250 美元的额外带宽。

我在更新 ftp 服务器上的镜像副本的应用程序上遇到了问题,因为它认为现在一切都是新的,因为所有文件都具有相同的时间戳,并且似乎比服务器上的副本新。它想重新上传所有内容,这是不可接受的选择。

除了再次下载所有 ~10GB 之外,我正在寻找一种方法将时间戳从 ftp 托管文件传输到相应的本地文件。有谁知道这样做的方法吗?

我担心的另一个问题是,存在于两个位置的某些文件已更改,如果我更改所有时间戳而不考虑这一点,恐怕有些以后不会被镜像。除了更改所有时间戳之外,我还需要一种方法来比较每个位置的文件之间的差异,并根据哈希值或其他内容更新服务器的文件。幸运的是,ftp 服务器确实支持散列。我不知道哪个客户可以做我需要做的事情。有人也可以推荐客户这样做吗?

提前致谢。

更新:

我在 ftp 客户端的论坛上发布了一条类似的消息,并得到回复,建议我重新开始整个传输,当客户端询问如何处理本地已存在的文件时,将其设置为“恢复”文件转移。

该操作目前正在非常愉快地完成它的工作,并且由于现在客户端设置为保留时间戳,因此它正在按照我的需要将它们全部更改为服务器上的时间戳。

小智 5

我刚刚犯了同样的错误;下载了许多文件而不保留时间戳。虽然作者找到了解决方案,但他没有说明他使用的是哪个 FTP 客户端。

以下解决方案将更新通过FTP使用FileZilla Client提供的文件的时间戳(在 Microsoft Windows 中标记为“修改日期”)。我还没有找到同步文件夹时间戳的解决方案。

使用FileZilla 3.7.3
1. 打开保留时间戳:Transfer > Preserve Timestamp ...
2. 打开恢复传输:Transfer > Default file exists action...
3. 然后Downloads: Resume file transfer(如果时间戳错误在另一个方向,则设置上传)
4. 重新启动下载。现有的、已完成的文件的时间戳将会更新。

注意:FTP 是一个相对简单的协议,因此将在远程 FTP 服务器上的每个目录上重新发出递归列表。对于具有许多文件和目录的服务器来说,这将需要一些时间。

如果您的服务器是SFTP,则可以使用WinSCP来同步时间戳。
1. 导航到正确的目录
2. Commands > Sychronize
3. 如果您连接到 SFTP 服务器,您将在“模式”下看到同步时间戳的选项 请
参阅https://winscp.net/eng/docs/task_synchronize_full#mode