获取网页的内容,并比较
问题描述:
可以有人帮忙/纠正我写一个shell脚本,这里是我想要做的网页获取网页的内容,并比较
- 获取内容
- 比较内容
- 如果内容相同则返回0
- 如果不返回2
这里是我的代码
for cluster in $CLUSTERS
do
for applis in $(eval echo \$${cluster}_APPLIS)
do
CONTENT=$(wget -q -O - "http://$server/$applis")
if [ "$CONTENT" -eq 1 ]
then
exit_code=0
else
exit_code=2
fi
done
done
[[ -z "$error_server" ]] && error_server="aucune"
case $exit_code in
"2")
echo "CRITICAL - App Version Mismatch"
exit 2
;;
"1")
echo "WARNING - instance(s) indisponible(s)"
exit 1
;;
"0")
echo "OK - All apps have the save version"
exit 0
;;
*)
echo "CRITICAL - there's something wrong with this script ..."
exit 2
;;
esac
任何帮助或建议,将不胜感激
问候 的Fab
答
您可以使用diff来比较文件的两个版本。第一个变量用于获取网页的第一个版本。我不确定是首先应该在第一个循环内还是外部初始化。
first=1
for cluster in $CLUSTERS
do
for applis in $(eval echo \$${cluster}_APPLIS)
do
if [ $first -eq 1 ];then
first=0
PREV_CONTENT=$(wget -q -O - "http://$server/$applis")
else
CONTENT=$(wget -q -O - "http://$server/$applis")
diff $PREV_CONTENT $CONTENT
PREV_CONTENT=$CONTENT
result=$?
fi
if [ "$result" -eq 0 ]
then
exit_code=0
else
exit_code=2
fi
done
做
+0
感谢你快速回复 我想我是不是在我以前的帖子 很清楚其实我们有4个Web服务器(群集)主机相同的网页 我需要做的是将我的所有服务器的网页内容放入一个变量,并检查它们是否匹配 如果是返回0或返回2 – user2106999 2013-02-25 15:58:26
+0
编辑脚本 - 不确定 applis in $(eval echo \ $$ {cluster} _APPLIS) 是for。可能它可以被简化。 – suspectus 2013-02-25 16:47:30
遗憾的错误标签,我已经把它换成正确的一个 – user2106999 2013-02-25 13:43:05