正如问题所述,如果现有的文件较旧,如何指示WGET仅下载同一文件
e.g。 fileA的日期/文件标记为9.00AM 10/10/2011
e.g。远程服务器上的fileA的日期/文件标记为11AM 10/10/2011
所以wget会将服务器上的FileA作为新版本下载(并覆盖本地文件)
任何帮助都会非常感激,我听说这是可能的,但看了一会儿之后我没有想出任何东西
答案 0 :(得分:11)
请查看wget手册中的timestamping部分:
<强>时间标记强>
最重要的一个方面 反映来自的信息 互联网正在更新您的档案。
再次下载整个存档 再次,只是为了取代一些 两个都改变了文件很昂贵 浪费带宽和金钱的条款, 以及进行更新的时间。这是 为什么所有的镜像工具都提供了 增量更新选项。
这种更新机制意味着 在搜索中扫描远程服务器 新文件。只有那些新文件 将被下载到的地方 旧的。
如果其中一个文件被认为是新文件 满足这两个条件:
该名称的文件尚未存在 在当地存在。该名称的文件 确实存在,但远程文件是 最近修改比当地 文件。为了实现这个,该计划 需要知道最后的时间 修改本地和远程 文件。我们称这个信息为 文件的时间戳。
GNU Wget中的时间戳是 使用'--timestamping'打开 ('-N')选项,或通过时间戳 = .wgetrc中的指令。使用此选项,对于它想要的每个文件 下载,Wget会检查一下 存在同名的本地文件。如果 它确实,远程文件不是 更新,Wget不会下载它。
如果本地文件不存在,或者 文件的大小不匹配, Wget将下载远程文件号 无论时间戳说什么。
答案 1 :(得分:7)
wget -N http://server/path/to/file.txt