【专题交流】我今天又偷懒了

呵呵,不错
1.最近作了一个Email日志分析系统,将日志分析后insert到oracle数据库,然后在interchange平台上,写一些网页展示出来,可以查询,图形(chartdirector)流量显示等
2.测试proxy的速度,每十分钟经过代理去取一次网页。出数据,生成图表。
在log日志里分析访问情况,然后生成excel发email给业务部门
自动化测试WLAN,晚上自己跑,早上来看测试报告。哈哈
我给补充两个我自己亲身经历的例子。

QUOTE:
工作中有什么烦人的事,需要重复劳动的地方,就可以考虑用 Perl 来做。
比如我有一回测试一个 SPF 服务,需要不断地重复以下过程:
1,从待测 IP 清单中拿出一个 IP 地址。
2,修改机器 A 的 IP 成为此 IP。
3,把机器 B (和机器 A 在一个网络里)的 IP 设置成和刚才那个 IP 在同一个网段的随便一个 IP。
4,在机器 A 上往机器 B 上发一份 email。(情况略有不同,但是先大概这么理解吧。)
5,看发信结果是能发过去,还是被拒绝。

那个 IP 清单很长,忘了是好几千还是好几万还是好几十万了,
反正手工一个一个做是不可能的,于是开始时抽样做了几个 IP,
后来嫌太麻烦,就用 Perl 写了一个脚本。
自动完成以上所有工作。

/path/to/ttt.pl ip.list | tee report.txt

若干小时之后只需要观察 report.txt 就可以了。
如果老板不是很黑的话,这几个小时期间就可以去喝茶了。



QUOTE:
再举一个例子,
我前阵子接手一个项目,典型的 C/S 结构 socket 程序,我调的是服务端,C 写的。原来的代码写的特别烂,我在调试的过程中需要反复地让配合我测试的另外一位同事发送某个请求以便跟踪程序、找到问题所在。但是因为客户端自身有一些业务上的限制导致操作起来并不是那么便利(比如每次都要重新输入很多资料、输入不完整、不合法还不行),我看到那位同事很辛苦,出于体谅到他的情绪,以及为大家节约时间的角度考虑,我就修改了一下服务端的代码,把收到的报文储存在一个临时文件中,并写了一套 Perl 脚本,show 03 就可以查看交易代码是 03 的那些报文(文件名),replay_last 03 重放最后一个 03 业务。replay /tmp/pkg/foo.dat 重放某个指定的业务,等等。

这样一来,每次他只需要告诉我他在哪个功能中发现了错误,我就 show xx 一下找到对应的文件名,
然后重复地 replay 这个报文,同时跟踪、修改、再跟踪服务端。等到改好之后,再让他试一下就行了。

至于选择 Perl 来写这些脚本而不是 C 或者别的东西,
是因为发送一个完整的请求包括了 Socket 操作、查找报文文件、XML 识别、压缩解压等操作,用 C 写起来可能就得不偿失了。

这个帖子好,顶上去,让大家都分享一下经验!
1.最近写了个替代who的who.pl...因为单位内采用一种很特殊的方式登入AIX系统..
  先用同一个id进入aix..然後再提示LDAP的帐号密码..输入後..利用expect加上su -转换成别的id...
  也就是说大家都用A进入OS..但是完成LDAP输入後..变成自己个人的id.....
  这时候..用who..只会看到一堆A...看不到实际id...与姓名..
  所以结合ps -ef、who、cat /etc/passwd
  以pts为主..
  个这是个简单的who.pl....主要跟who一样...只是能尽快知道那个ip是那个id上来了...
   不然要知道那个人在那个pts..得要看很多地方才查得到...
output内容如下:
自己id    姓名    PTS    登入时间   登入IP
who大致内容一样..但是多了个姓名....
速度是我同事用shell script写的who.sh 两倍以上...

2.用perl写了个分析apache access_log的资料..避免自己写的 apache被人家恶意搞垮了...
  主要是分析某个IP一天之内access了几次..超过一千次的发Email通知..超过一万次的..
  早上来直接加入apache的 deny list中..

每个工作日都要填写日报,觉得这个剧麻烦,而且还老是忘记,于是前段时间学了perl之后,鼓捣了一个perl脚本,周一至周五自动登陆填写日报,真是爽,呵呵



QUOTE:
原帖由 red999 于 2007-7-2 15:34 发表
每个工作日都要填写日报,觉得这个剧麻烦,而且还老是忘记,于是前段时间学了perl之后,鼓捣了一个perl脚本,周一至周五自动登陆填写日报,真是爽,呵呵

日报内容来自何方?