指示WGET仅在现有文件较旧的情况下下载相同文件[关闭]

问题描述 投票:11回答:2

由于该问题说明了如何指示WGET仅在现有文件较旧的情况下才下载同一文件

例如fileA的日期/文件戳为9.00AM 10/10/2011

例如远程服务器上的fileA的日期/文件戳为11AM 10/10/2011

因此wget会将FileA作为更新的文件下载到服务器上(并覆盖本地文件)

任何帮助将不胜感激,我听说这是可能的,但是环顾了一段时间之后,我什么都没想出来

command wget
2个回答
12
投票

请参阅wget手册中的timestamping部分:

时间戳

[最重要的方面之一镜像来自互联网正在更新您的档案。

再次下载整个档案再一次,只是替换一些更改的文件非常昂贵,浪费带宽和金钱的条款,以及进行更新的时间。这是为什么所有镜像工具都提供增量更新选项。

这种更新机制意味着在搜索中扫描远程服务器新文件。仅那些新文件将在以下位置下载旧的。

如果以下文件之一被认为是新文件,这两个条件都满足:

  1. 那个名字的文件还没有在本地存在。

  2. 该名称的文件确实存在,但是远程文件是比本地修改最近文件。

要实施此程序需要知道最后的时间本地和远程修改文件。我们称此信息为。

GNU Wget中的时间戳为使用“-时间戳”打开(‘-N’)选项,或通过时间戳记= .wgetrc中的指令。使用此选项,对于每个文件,它打算下载后,Wget将检查是否存在相同名称的本地文件。如果它可以,而远程文件不是较新,Wget将不会下载。

如果本地文件不存在,或者文件大小不匹配,Wget将下载远程文件无论时间戳怎么说。


7
投票
wget -N http://server/path/to/file.txt
© www.soinside.com 2019 - 2024. All rights reserved.