免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1410 | 回复: 2
打印 上一主题 下一主题

整理应用信息列表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-20 21:34 |只看该作者 |倒序浏览

整理应用信息列表









现在我有一些应用的列表信息,但是发现最后一列缺少了对应的ip,那么针对比较多的信息,我应该怎样添加呢

手动的话,我肯定会疯的,那么我们就使用脚本吧~

信息列表的内容如下格式:

应用名 应用包名 实例 AS

内容:
app-sohu /usr/weblogicapp/sohu/app-ws-sohu.war sohuServer-150 99bill-as20


思路:

针对这么多主机,我只能先统计主机,然后找到对应的ip,统计到一个文件里面。

应用列表信息名为app.list

主机列表信息可以这样统计:

cat app.list | awk '{print $4}'|sort|uniq > ip_list


然后在 ip_list中加上主机对应的ip,整理后内容如下:

192.168.137.148 zy-as18
192.168.137.147 zy-as17
192.168.137.150 zy-as20
192.168.137.149 zy-as19
192.168.137.193 zy-as22
192.168.137.192 zy-as21
192.168.137.196 zy-as23
192.168.137.197 zy-as24
192.168.137.47 zy-as47
192.168.137.48 zy-as48
192.168.137.121 zy-as121
192.168.137.122 zy-as122


那么下面我们就可以使用脚本执行了~

add.sh脚本的内容如下:




[plain] view plaincopy
  1. 01.#!/bin/bash  
  2. 02.#mail:zhuying/jz/137@163.com  
  3. 03.  
  4. 04.Asname="`cat ip_list | awk '{print $2}'`"  
  5. 05.  
  6. 06.for As in $Asname  
  7. 07.do  
  8. 08.  #message="`grep $As ip_list|awk '{print $2" "$1}'`"  
  9. 09.  ip="`grep $As ip_list|awk '{print $1}'`"  
  10. 10.  grep $As app.list | sed  's#$# '$ip'#g'  
  11. 11.  #grep $As app.list | sed 's#'${As}'$#'${message}'#g'  
  12. 12.done  
复制代码
我这里其实是在最后一列加上了主机对应的ip信息~

之前其实本来是替换的,将搜索到的主机信息替换成对应的主机和ip信息,例如:

将搜索到的zy-as122替换成zy-as122 192.168.137.122,但是不晓得为何一直不成功,所以就用这种方法了~
疑问:

为何不直接sed -i呢,因为我之前也试过了,只是会报错,后来想想应该是这样的,你对文件又读又写的,可能就是那个锁机制吧~

那么我们就不能够直接改变app.list文件信息了,也就是说

grep $As app.list | sed  's#$# '$ip'#g' > app.list【不正确,锁机制,边读边写肯定会出错~】

grep $As app.list | sed  's#$# '$ip'#g' > app.list.bak【也不正确,因这是在循环中,app.list.bak中只会有最后一次循环的信息~】

grep $As app.list | sed  's#$# '$ip'#g' >> app.list.bak【正确,但是只能执行一次O(∩_∩)O哈!】

或者执行:


sh add.sh > app.list.bak

那么你查看一下app.list.bak没有问题的话,你就可以将app.list.bak直接move成app.list~\(≧▽≦)/~啦啦啦~

论坛徽章:
0
2 [报告]
发表于 2012-01-20 21:35 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-01-20 23:45 |只看该作者
又是好的经验,收藏
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP