欢迎来到天天文库
浏览记录
ID:37906075
大小:275.00 KB
页数:18页
时间:2019-06-02
《TCL脚本实例解读》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、TCL脚本实例解读作者:杨帆、老卢前言Sigma的这段日子在技术方面感觉提高的方面可能就是脚本的编写吧,我感觉写一个可用的脚本,并不一定非的在于你对脚本有了多了解之后,然后再去实现一个切合实际的脚本,最主要是思路,当你对所需要使用的脚本工具有一定的理解(如:TCL),在一个实际环境,首先能有个明确的想法,想实现个具体的什么东西,怎么样的思路可以实现,大脑里具备了这些条件,就可以尝试去写一些脚本。当然了,在实现的过程中肯定会遇到这样或者那样的问题,但一般来说,基本都是一些对脚本语法以及命令不熟悉的原因造成,这些问题很好解决,可以跟熟悉脚
2、本的同事讨论,来帮你解决当时的问题,所以,千万不要因为还没有开始,就将脚本看得非常困难,导致自己一直无法迈出第一步,其实有些东西还是比较容易实现的。所以在此将我写的几个脚本在此解读解读。文档目的这篇文档中所附带的脚本,主要是根据Sigma这边搭建的系统测试环境而撰写出来的,脚本内容可能与今后Sigma公司为我们所开发的系统测试脚本无关,当撰写完这几个脚本之后,各人感觉有些东西还是比较有价值的,因此本人将此脚本撰写为文档,将这些东西共享出来供大家分享、借鉴、参考,相信看完这篇文档,因该会提供很多切合实际测试的一些脚本开发思路。还有,这篇
3、文档并非一篇解释TCL命令的文档,有许多脚本中的相关命令不熟悉的地方需要查找其它资料,部分命令只做了解释或者介绍。感谢!:)这些脚本的撰写过程中感谢小康同学与小井同学的帮助(很多地方错误的查找、以及提供了一些解决关键问题的命令,如果没有他们的帮助,这个脚本完成的难度就大了,有很多也是他们的功劳)环境介绍这里提到的环境主要介绍的是系统测试的物理网络TOP环境与逻辑网络TOP环境,因为脚本里面的内容跟这个具体环境有关:物理网络TOP,物理网络TOP所描述的实际是所有测试PC与DUT连接的物理线路图,实际物理TOP分为两个部分,控制网络与测
4、试网络:(在这个实际环境中要求所有参与测试PC拥有两块可用的物理网卡,一块接控制网络交换机,另一块网卡连接测试网络交换机,测试网络交换机必须支持Vlan的划分,在某种特殊情况要求有trunk功能的支持,如测试网络交换机接口不足的情况,需要添加新的交换机,不同的交换机相同VLAN之间需要通信的需求,额外话题)Ø控制网络:我们可以从上图看到,所有PC的网卡eth1同在同一数据链路,IP也在相同网段,控制网络的目的是为了方便通过其中任意一台PC来控制其他的PC做一些事情,比如让某些PC在Testing网络建立一些连接,或者发送一些数据包,如
5、何来控制,其实看完这篇文档实现的脚本,也就没有那么神秘了。Ø测试网络:实际这个网络就是专门构建我们DUT测试环境的网络TOP,根据划分VLAN创建不同的逻辑TOP。比如把DUT的某个接口eth0放入某个VLAN,将一些测试PC划入此VLAN,将DUT的另一个接口eth1放入另一个VLAN,其中此VLAN划入一些PC,这个TOP相当于DUT两个接口连接了两个不同,逻辑上的网桥。(一个VLAN相当于是一个独立的网桥)如下图,我们系统测试测试网络的逻辑TOP(列出供大家参考):从上图可以见到,在实际环境中搭建,至少可能需要六台交换机(少画两
6、台),但在这个环境只用上来两台交换机,使用Vlan和Trunk实现。脚本介绍在做详细的脚本分析之前我们首先先对这些脚本做一个简单的介绍。这篇文档脚本实例中有部分是存在一定关系的,目的为执行不同的功能,但可以调用其它脚本执行所产生的变量。以下列出脚本的文件名称,对以下脚本的功能以及实现的目的做一个简单介绍:²reach_host.tcl:检测控制网络存在的PC,将所有存在(可ping通)的PC放入一个变量形成一个列表。这个文档的目的是因为控制所有控制网络PC去做一些测试操作时,使用的都是IP通信,因此我们要保持测试网络的连通性,可能需要
7、经常的去做一些ping的操作,因此做了一个这样的脚本来执行这件事情。这个脚本是借鉴Sigma的同事修改过来的,其他所有的脚本思路都是从这个脚本出发。这个脚本在这一系列脚本中,目的并不只是单纯的测试连通性,其实还有其他用途,比如我们的系统测环境所有PC分为四个区域,每个区域之间的PC的IP并不连续,我们可以通过这个脚本将所有可用的PC做成一个列表,将这个列表应用在其它的脚本。²setup_tools.tcl:这是一个单独得脚本,目的是将所有控制网络中可以Ping通的设备安装一些工具。(其实这个脚本可以扩展,只需要了解其他需要安装的lin
8、ux软件步骤,即可向此脚本中补充,这里面只是拿出几个例子来提供一些思路)²ipaddr_configure.tcl这个脚本运用到之前reach_host.tcl运行输出的控制网络存活PC的列表,然后在对这些列表中的PC配
此文档下载收益归作者所有