2011-05-09 64 views
7

由于该问题时如何指导WGET只下载同一个文件,如果存在一个较老指示WGET只下载同一个文件,如果存在一个较老

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

例如,在远程服务器上的fileA有11AM 10/10/2011

这样的wget将下载服务器作为其新的(并覆盖本地文件)上FILEA

任何帮助,将不胜感激日期/文件邮票我听说这是可能的,但找了一段时间我没有带想出什么

回答

9

在wget的手册中的timestamping部分看看后:

时间标记

镜像信息 Internet中最重要的一个方面是更新您的存档。

下载整个档案再次 又一次,只是更换了几个 更改的文件是昂贵的,无论是在浪费带宽和金钱, 并做更新时间 条款。这是 为什么所有镜像工具都提供增量更新的 选项。

这样的更新机制意味着 远程服务器扫描搜索 新文件。只有那些新文件 将被下载到 旧版本的位置。

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

该名字的文件已经不 本地存在。名称为 的文件确实存在,但是远程文件是 比当地文件 更新。为实现此目的,程序 需要知道上次 修改本地和远程文件的时间。我们把这个信息称为文件的时间戳 。

在GNU Wget的时间戳的是 在.wgetrc接通使用“--timestamping” (“-N”)的选项,或者通过时间戳 =上指令。有了这个选项,对于每个文件打算 下载,Wget将检查是否存在一个 同名的本地文件。如果它是 它,并且远程文件不是 更新,Wget将不会下载它。

如果本地文件不存在,或 的文件不匹配的大小, Wget的会下载远程文件没有 无论什么时间标记说。

+0

谢谢你,现在会尝试.. – James 2011-05-09 21:10:25

+0

“如果[...]的文件不匹配的大小,Wget的会下载远程文件无论时间戳说什么。 “对我来说这不是真的。该文件未能下载。即:发送HTTP请求,等待响应... 304未修改 未在服务器上修改文件'xxx.csv'。省略下载“当本地文件被截断并更新时错误或误解该功能? – 2017-09-06 06:14:10

5

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

+0

谢谢,效果很好 – James 2011-05-09 21:13:23

相关问题