2015-02-10 48 views
0

我有这样的命令为定期任务Wget的返回码

wget -N -q http://host.com/dump.file; echo $ 

它会返回0,即使文件实际上从来没有下载,因为它是相同的。任何有0的机会只有文件实际上已被下载?

回答

0

不是直接调用wget,而是编写一个调用wget的脚本,并在捕获其“已更改”时间戳之前/之后。例如,GNU的coreutils stat返回一个高精度的时间戳,如

Change: 2015-02-10 04:42:23.000000000 -0500 

在脚本中,你可以将这些信息保存到一个变量,例如,

before="`stat dump.file |fgrep Change:`" 
wget -N -q http://host.com/dump.file 
after="`stat dump.file |fgrep Change:`" 
test "x$before" != "x$after" 
+0

我想咨询一下wget的选项。不是bash咬嚼。 O可能是其他一些有适当反应的公用事业。 – 2015-02-17 10:55:06

+0

如果你只是对wget感兴趣,你应该阅读它的手册页(在这种情况下,这个问题与SO无关)。 – 2015-02-17 11:20:21