wget仅在服务器上已更新文件的情况下才重新下载文件

时间:2018-10-09 20:08:21

标签: wget

我当前正在使用wget从服务器下载资产。我目前使用wget

的以下选项
wget --user=m_username --password=m_password  -r -np -x -nH -q -nc URL_PATH

 /**
     *  -r   - download recursively
     *  -np  - no parent ( only the files below a certain hierarchy will be downloaded)
     *  -x   - force to create the same directory structure.
     *  -nH  - Disable generation of host-prefixed directories
     *  -q   - quiet - no output.
     *  -nc  - existing files will not be redownloaded.
     *
     * */

除了上述选项外,如果服务器中的文件已更新,我希望wget重新下载该文件。有没有我可以使用的选项。我找不到专门为此的任何东西。

2 个答案:

答案 0 :(得分:1)

您正在寻找-N:“在运行带有-N,带有-r或不带有-r或-p的Wget时,是否下载文件的较新副本取决于本地。以及文件的远程时间戳和大小。”

答案 1 :(得分:1)

引用手册页:

  

-无弹性

     

如果在同一目录中多次下载文件,则Wget的行为取决于几个选项,包括-nc。在某些   情况下,本地文件       反复下载后将被破坏或覆盖。在其他情况下,它将被保留。

     

在不带-N,-nc,-r或-p的情况下运行Wget时,在同一目录中下载相同文件将得到文件的原始副本   被保存和       第二个副本名为file.1。如果再次下载该文件,则第三个副本将被命名为file.2,依此类推。 (这是   也是行为       与-nd一起使用,即使-r或-p有效。)当指定-nc时,此行为被禁止,Wget将拒绝下载较新的版本。   文件副本。       因此,在这种模式下,“ no-clobber”实际上是一个用词不当的地方---它不会避免被破坏的情况(因为数字后缀   已经在预防       破坏),而是避免了多个版本的保存。

     

使用-r或-p运行Wget,但不使用-N,-nd或-nc时,重新下载文件将导致新副本被简单覆盖   老人。添加-nc       将防止此行为,而是导致保留原始版本,并忽略服务器上的所有较新副本。

     

在带有-N,带有或不带有-r或-p的情况下运行Wget时,是否下载文件的较新副本的决定取决于   本地和远程       时间戳和文件大小。不能与-N同时指定-nc。

     

仅当给定的输出文件不存在时,才接受与-O /-output-document的组合。

     

请注意,当指定-nc时,带有后缀.html或.htm的文件将从本地磁盘加载并被解析,就像它们已经被解析一样。   从...获得       网络。

据我了解,您真正想要的只是--mirror选项,它设置了-r -N -l inf --no-remove-listing标志。