1

我知道 wget 有一个 -N 函数,(还有一个用于 FTP 等非标头发送协议的时间戳选项),但是我将如何为 wget 指定时间和日期。

例如; 我不想比较本地和远程文件,我想直接指定 wget 使用的时间和日期。我知道以下内容不正确,它只是用于示例的目的:

wget -N **--jan-2-2013-05:00** r ftp://user:myPassword@ftp.example.com/public_html

检查上次修改时是否可以给 wget 一个时间戳?

4

1 回答 1

0

不,没有这样的选择。

时间戳行为在 wget 中是非常自动的。当您使用 --timestamping 或 -N 选项时,如果出现以下情况,则不会下载文件:

a) 本地已存在该文件

b)文件在本地和远程具有相同的大小

c) 远程文件的时间戳等于或早于本地文件的时间戳(在 http 中它与 Last-Modified 标头进行比较)

所以你可以模仿你问的行为,如果你:

  1. 创建与远程位置相同大小的要下载的文件(a+b 条件)
  2. 触摸文件,使它们具有您想要的时间戳(c 条件)

例子:

对于我们已经知道的名称的单个文件,假设大小为 7348 的 foo.txt,我们只想在 2013-07-24T14:27 之后获取较新的文件,即:

dd if=/dev/zero of=foo.txt bs=1 count=7348
touch -t 201307241427 foo.txt

现在如果你使用wget -N http://url/path/foo.txtwget 会像你问的那样工作

于 2013-07-24T14:35:48.867 回答