【问题标题】:wget Downloading and replacing file only if target is newer than sourcewget 仅当目标比源更新时才下载和替换文件
【发布时间】:2014-08-06 11:27:33
【问题描述】:

这就是我想要实现的目标:

用户上传file1.jpg服务器A

使用 wget Server B 仅当文件比 Server A 上已经存在的文件新时才从 Server A 下载 file1.jpg >服务器 B,然后将 服务器 B 上的文件替换为新文件。

我知道我可以使用:

 wget -N http://www.mywebsite.com/files/file1.jpg

要检查目标文件是否比源文件更新,但我对如何格式化命令以让它知道实际源文件的内容和位置有点困惑?

是这样的吗? :

 wget -N http://www.mywebsite.com/files/file1.jpg /serverb/files/file1.jpg

干杯!

【问题讨论】:

    标签: linux download wget


    【解决方案1】:

    您可以使用-P 选项指定下载文件的目录:

    $ wget -N -P /serverb/files/ http://www.mywebsite.com/files/file1.jpg

    您也在谈论下载和替换文件。请注意,wget 会覆盖文件,因此在下载时它会“损坏”。我认为您不能仅使用wget 对文件进行原子替换。您需要一个使用临时文件和move 的小脚本以原子方式替换服务器 B 中的文件。

    【讨论】:

    • 谢谢 Erika,不过我的问题应该更简洁。我正在尝试在 shell 脚本中运行此命令,但我尝试的任何方法(包括您的答案)都不起作用。我做错了什么?
    • 在执行 shell 脚本时,是否从 wget 或 shell 得到任何输出或错误消息?
    • 我在哪里可以看到这些?抱歉,这里有点贝壳菜鸟;)
    • 你是如何执行你的shell脚本的?
    • 通过 cron 作业,每分钟执行一次,只是在试图让它工作时
    猜你喜欢
    • 2016-11-28
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 2016-09-05
    • 1970-01-01
    相关资源
    最近更新 更多