如何在wget或curl下载较新的文件时执行操作?

时间:2015-02-09 10:29:22

标签: bash curl wget

我正在寻找一个简单的bash解决方案,在wget --timestamp https://example.com/my.file

之类的命令后更新文件时执行操作

我观察到wget在两种情况下都返回0,当文件已经是最新版本时,以及下载更新版本时。

在bash中实现此功能的最简单方法是什么?

1 个答案:

答案 0 :(得分:3)

您可以使用stat -c %y在执行wget之前和之后保存上次数据修改的时间戳。如果两个时间戳不同,则运行您的操作。

t1=$(stat -c %y $FILE)
wget https://example.com/$FILE
t2=$(stat -c %y $FILE)
if [ "$t1" != "$t2" ]; then
   echo "Do something"
fi

如果您使用类似BSD的Unix,例如macos,请使用stat -f %m代替stat -c %y