【发布时间】:2013-03-12 21:14:32
【问题描述】:
我正在尝试自动化一个以前需要全职工作的流程:监控一系列网站的新帖子。这似乎是一个相对简单的脚本问题,所以我解决了它,编写了一个 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 myaddress@mydomain.com -xp password -f myaddress@mydomain.com -t myaddress@mydomain.com -s smtpout.secureserver.net -u $SITENAME -m backend \
&& cp $SITENAME.backend.new $SITENAME.backend.old \
&& echo true
fi
【问题讨论】:
-
你能显示
$SITENAME.backend.diff包含的内容吗? -
几行 HTML,除了一些时间戳相差几个小时外,基本相同。嗯...您认为它们在多个服务器之间进行负载平衡吗?我会做一些测试。
-
是的,看起来他们有多个运行相似但页面略有不同的服务器。它们在一台服务器上的链接是相对的,而在另一台服务器上则是绝对的。看起来我的连接大约每五分钟在这些之间切换一次。尽管页面发生了细微变化,但是否有人对使其工作的可能方法有任何想法?
标签: bash if-statement webpage crontab monitor