指示WGET仅在现有文件较旧时才下载相同的文件

时间:2011-05-09 21:00:40

标签: command wget

正如问题所述,如果现有的文件较旧,如何指示WGET仅下载同一文件

e.g。 fileA的日期/文件标记为9.00AM 10/10/2011

e.g。远程服务器上的fileA的日期/文件标记为11AM 10/10/2011

所以wget会将服务器上的FileA作为新版本下载(并覆盖本地文件)

任何帮助都会非常感激,我听说这是可能的,但看了一会儿之后我没有想出任何东西

2 个答案:

答案 0 :(得分:11)

请查看wget手册中的timestamping部分:

  

<强>时间标记

     

最重要的一个方面   反映来自的信息   互联网正在更新您的档案。

     

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

     

这种更新机制意味着   在搜索中扫描远程服务器   新文件。只有那些新文件   将被下载到的地方   旧的。

     

如果其中一个文件被认为是新文件   满足这两个条件:

     

该名称的文件尚未存在   在当地存在。该名称的文件   确实存在,但远程文件是   最近修改比当地   文件。为了实现这个,该计划   需要知道最后的时间   修改本地和远程   文件。我们称这个信息为   文件的时间戳。

     

GNU Wget中的时间戳是   使用'--timestamping'打开   ('-N')选项,或通过时间戳   = .wgetrc中的指令。使用此选项,对于它想要的每个文件   下载,Wget会检查一下   存在同名的本地文件。如果   它确实,远程文件不是   更新,Wget不会下载它。

     

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

答案 1 :(得分:7)

wget -N http://server/path/to/file.txt