2013-03-12 13 views
0

我试图自动化一个以前耗费全职工作的过程:监控一系列新帖子的网站。这似乎是一个相对简单的脚本问题,所以我解决了它,写了一个bash脚本,并将其设置为在crontab中每分钟运行一次。它的效果很好,但是在页面改变后,它一直持续返回误报一个小时左右,我不能为了我的生活找出原因。它会在一段时间后自行解决,但我不想部署脚本,直到我明白发生了什么。这里是我的代码:网页监控脚本正在返回误报

#!/bin/bash 

SITENAME=example 

wget http://web.site.url/apache/folder/$(date +%Y)/$(date +%m)-$(date +%B) -O $SITENAME.backend.new --no-cache 
touch $SITENAME.backend.old 
diff $SITENAME.backend.new $SITENAME.backend.old > $SITENAME.backend.diff 

if [ -s $SITENAME.backend.diff ] 
then sendemail -xu [email protected] -xp password -f [email protected] -t [email protected] -s smtpout.secureserver.net -u $SITENAME -m backend \ 
&& cp $SITENAME.backend.new $SITENAME.backend.old \ 
&& echo true 

fi 
+1

你能显示'$ SITENAME.backend.diff'包含什么吗? – 2013-03-12 21:29:03

+0

几行HTML大部分是相同的,除了一些时间戳,这些时间戳是几个小时。嗯......你认为他们是在多台服务器之间进行负载均衡吗?我会做一些测试。 – 2013-03-12 22:13:27

+0

是的,它看起来像是有多个服务器运行相似但略有不同的页面。他们在一台服务器上的链接是相对的,而另一台则是绝对的。看起来我的连接大约每五分钟就会在这两者之间切换。有没有人有任何想法可以使其工作,尽管页面有轻微的变化? – 2013-03-13 00:29:34

回答

0

如果diff文件之间的唯一区别是绝对或不绝对环节,考虑使用wget--convert-links开关,就像男人说:

-k 
    --convert-links 

下载完成后,转换文档中的链接以使其适合本地查看。这不仅影响了可见的超链接,但链接到外部内容,如嵌入式图像,链接样式表,超链接到非HTML内容等

这将转换链接到文档的任何部分绝对链接。

+0

哇,太好了!谢谢! – 2013-03-13 18:40:42