Bash
1 前言
一个问题,一篇文章,一出故事。
笔者生产环境需要统计站点应用,由于应用数量巨大,于是通过如下脚本实现快速搜索。
2 最佳实践
2.1 创建搜索脚本
mkdir ~/scripts/ vim ~/scripts/tools-findAPP.sh
加入如下代码,
#!/bin/bash
baseURL="http://www.cmdschool.org.cmdschool.org:8080"
wwwRoot="/usr/tomcat/apache-tomcat-6.0.18/webapps"
indexList="index.jsp index.html"
if [ ! -d "$wwwRoot" ]; then
echo "The wwwroot could not found!"
exit
fi
cd $wwwRoot
apps="$(
for i in $indexList; do
index=$i
find . -name '*'$index -exec echo {} \; | xargs echo
done
)"
appsUrl="$(
for i in $apps; do
appName=$i
echo $baseURL'/'`echo $appName | cut -d'/' -f2`"/";
done | sort -u
)"
for i in $appsUrl; do
appUrl=$i
httpCode=`curl -I -m 10 -o /dev/null -s -w %{http_code} $appUrl`
if [ "$httpCode" = "404" -o "$httpCode" = "503" ]; then
continue
fi
echo $appUrl
done
需要注意的是,
– 第1个“for”循环取得一个应用的名称列表
– 第2个“for”循环取得一个应用的URL列表
– 第3个“for”循环排除掉返回“404”或“503”的应用URL
2.2 搜索站点
bash ~/scripts/tools-findAPP.sh
显示效果如下,
http://www.cmdschool.org.cmdschool.org:8080/it http://www.cmdschool.org.cmdschool.org:8080/mis http://www.cmdschool.org.cmdschool.org:8080/ems #...
没有评论