如果时间戳没有改变则继续下载

如果时间戳没有改变则继续下载

我想镜像一个具有大型、更新数据库转储的站点。阅读手册页后,我不完全理解-N和选项以及它们如何组合。-cwget

有没有办法下载文件,最好使用 wget,以便:

  • 如果服务器的时间戳比本地的时间戳新,则下载替换本地文件
  • 如果服务器的时间戳与本地相同,但远程大小较大,则 wget 继续下载

我碰巧知道服务器支持发送修改时间。

答案1

wget手册有更多的信息man wget

如果满足以下两个条件之一,文件将被视为新文件:

  1. 本地尚不存在该名称的文件。
  2. 该名称的文件确实存在,但远程文件的修改时间比本地文件更新。

为了实现这一点,程序需要知道本地和远程文件的最后修改时间。我们将此信息称为文件的时间戳。

GNU Wget 中的时间戳是使用--timestamping( -N) 选项打开的,或者通过.wgetrc.使用此选项,对于要下载的每个文件,Wget 将检查本地是否存在同名文件。如果是这样,并且远程文件较旧,Wget 将不会下载它。

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

简而言之,-N应该按照你的要求去做。

相关内容