我知道 wget 有一个 -N 函数,(还有一个用于 FTP 等非标头发送协议的时间戳选项),但是我将如何为 wget 指定时间和日期。
例如; 我不想比较本地和远程文件,我想直接指定 wget 使用的时间和日期。我知道以下内容不正确,它只是用于示例的目的:
wget -N **--jan-2-2013-05:00** r ftp://user:myPassword@ftp.example.com/public_html
检查上次修改时是否可以给 wget 一个时间戳?
我知道 wget 有一个 -N 函数,(还有一个用于 FTP 等非标头发送协议的时间戳选项),但是我将如何为 wget 指定时间和日期。
例如; 我不想比较本地和远程文件,我想直接指定 wget 使用的时间和日期。我知道以下内容不正确,它只是用于示例的目的:
wget -N **--jan-2-2013-05:00** r ftp://user:myPassword@ftp.example.com/public_html
检查上次修改时是否可以给 wget 一个时间戳?
不,没有这样的选择。
时间戳行为在 wget 中是非常自动的。当您使用 --timestamping 或 -N 选项时,如果出现以下情况,则不会下载文件:
a) 本地已存在该文件
和
b)文件在本地和远程具有相同的大小
和
c) 远程文件的时间戳等于或早于本地文件的时间戳(在 http 中它与 Last-Modified 标头进行比较)
所以你可以模仿你问的行为,如果你:
例子:
对于我们已经知道的名称的单个文件,假设大小为 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.txt
wget 会像你问的那样工作