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

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

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

保存本地文件的 PC 是一台上网本,使用 WiMax(4G 蜂窝)连接访问互联网,该操作耗尽了我每月的所有带宽,外加 250 美元的额外带宽。

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

除了再次下载所有约 10GB 的文件外,我还在寻找一种方法将时间戳从 ftp 托管文件传输到其相应的本地文件。有人知道怎么做吗?

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

提前致谢。

更新:

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

该操作目前正在顺利进行,并且由于现在客户端已设置为保留时间戳,因此它会按照我的需要将它们全部更改为服务器上的时间戳。

答案1

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

以下解决方案将更新时间戳文件(在 Microsoft Windows 中标记为“修改日期”)可通过FTPFileZilla 客户端。我还没有找到同步文件夹时间戳的解决方案。

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

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

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

相关内容