利用Solaris网络操作系统工具获取典型报文

时间:2022-10-26 02:16:09

利用Solaris网络操作系统工具获取典型报文

引言

Solaris网络操作系统为获取智能变电站报文信息提供snoop及cron两个工具,在Unix系统中,要使用其工具,必须先要了解相关文本编辑器,如ex、edit、Vi等。对于全屏幕编辑器而言,由于以行列编辑器形式存在的ex、edit并不适用,故本文推荐Vi,即Visual文本编辑器。它是一个立即反应的编辑程序,可立即看到操作结果。

1.1Vi常用指令

Vi有输入模式和指令模式两种模式。输入模式用来输入文字资料的,指令模式用来下达一些编排文件、存档、以及离开Vi等等的操作指令。

①Vifilename表示创建新文件或打开已有文件。如果该目录下没有该文件时,则创建。

②:wq!冒号+wq+叹号命令,译为保存并退出。

③:q!冒号+q+叹号命令,译为不保存退出。

④x该命令译为删除一个字符。

⑤dd该命令译为删除一行。

⑥i该命令译为前插入字符。待字符输入完成后需按ESC退出编辑状态。

⑦a该命令译为后插入字符。待字符输入完成后需按ESC退出编辑状态。

1.2使用须知

Vi是全屏幕编辑器,所以它必须控制整个终端屏幕哪里该显示些什么。而终端机的种类相对较多,特性自然不尽相同,所以使用Vi就必须要知道当前状态下所使用的是哪一种终端机。

2、脚本制作

2.1创建snoop_log文件夹

获取报文应在fe值班节点上面进行,即变电站当前值班服务终端。输入指令mkdirsnoop_log即可在当前目录下创建snoop_log文件夹。该文件夹可用于存放脚本程序以及获取所需报文信息文件,是整个操作工作的基础准备。

2.2脚本准备

使用普通文本编辑器,易出现一些不易察觉的问题,导致脚本异常,所以推荐Vi编辑器。

①输入指令visn_job.sh,新建一个名为sn_job.sh的空文档。

②依次输入下图1所示指令。

图1 用Vi建立脚本指令示意

图1中“pids=”指令后所使用的类似“引号”的符号,是键盘上数字1旁边的按键,并非单引号。后面关于日期调用函数中的符号同理。

脚本建立后,检查脚本文件中是否含有字母M。如:pids=`ps-A|grepsnoop|awk`{print$1}``^M,若有,则删除。Snoop指令中,-dbge0表示服务器的网卡名。通过指令ifconfigCa可查看当前值班服务器网卡名。本例中当前服务器为scada1。

-o`date+%H%M`_bge0.snoop用于报文获取后生成指定文件名。`date+%H%M`为时间调用函数,其根据操作者下达指令时自动生成相应时间。如在12点05分操作,则文件名为1205_bge0.snoop。

nothostscada2andnothostscada3代表过滤条件,译为当前报文不获取服务器2、3的数据。假如有电脑连交换机上,且不需要该数据,可在指令中加上nothost计算机IP进行过滤,在本文中198.120.0.254即笔记本IP。指令最后“&”表示同时执行后面语句,本例中为同时对网卡bge1,即现场的B网进行报文获取,该符号不能省略。

③脚本完成后,在服务器上用Vi打开,如下图2。

图2 用Vi工具打开的脚本示意

④脚本准备完成后,将其放于snoop_log文件夹下,输入如下指令给脚本赋予执行权限。

scada1:users/emscdsnoop_log

scada1:users/snoop_logchmod777sn_job.sh

注意:chmod和777之间有一个空格,777后面也加空格。777译为可读、可写、可执行,即赋予该脚本所有权限,并可由任何人来执行。

⑤脚本完成后,需要检测其正确性。

在su用户下进入snoop_log文件夹,执行指令:./sn_job.sh。之后在snoop_log文件夹下会看到1205_bge0.snoop、1205_bge1.snoop两个snoop文件。同时在终端窗口有一个数字从0开始向上递增,如果没有往上递增并且报错,请仔细检查本文上述提示点,进行纠正。如果一切正常,可以用Ctrl+C键停止执行程序,并且进行下一步操作。

3、CRON-修改系统任务计划

修改系统任务计划是在设置时间点内自动调用脚本进行长期获取报文之后进行保存的重要步骤。如设置时间为10分钟,在获取报文时,会在24小时中,每个小时的第10分钟,进行报文保存。

系统默认有一个/usr/spool/cron/crontabs/root文件,该文件是系统的任务计划,通过超级用户把它备份成root.cron,然后把root.cron文件拷贝一份变成snoop.cron文件,在snoop.cron文件中加入定时执行sn_job.sh的脚本。操作方法如图3所示。

图3 操作指令

复制好之后,会在上述文件夹出现一个snoop.cron的文件,这个文件就是需要执行的计划任务。为保证可以自动调用已经编写好的脚本,仍需要对该文件进行修改。该文件是只读文件,故首先我们需要对其进行给予写的权限,超级用户身份下输入如下命令:

#cdusr/spool/cron/crontabs/

#chmoda+wsnoop.cron

然后用vi打开snoop.cron,如图4所示。

窗口中出现的信息为系统自带的数据信息,服务器不同,信息内容也可能不同,无需改动。假设,以每小时5、25、45分这样的时间节点来执行脚本,需在信息后添加3行指令信息。如图5所示。

图5 以每小时5,25,45分作为时间节点的脚本指令

图5中应注意如下问题:①在格式上空出一整行后再增加。②每个*前后都应有一个空格,如:5****cd……但注意,这里必须只有1个空格。③cd与后边路径之间也应有一个空格。④路径后面的分号后sh前后都应有一个空格。

完成之后保存退出vi工具。此时可检验执行程序是否有问题。超级用户下输入指令:

#cdusr/spool/cron/crontabs

#crontab-l(l英文字母L的小写)

此时界面中显示如图6所示。

图6 超级用户指令操作后示意

输入#crontabsnoop.cron启动报文获取程序;

再输入:#crontab-l以确定脚本可以成功调用,如图7所示。

图7 脚本已经成功调用示意

根据先前设置,生成的报文文件应在/users/ems/snoop_log文件夹下。如果打开该文件夹看不到获取文件,是因为执行程序已经设定了将会在5,25,45分钟时执行,需等待。到时间节点后,报文文件呈现在文件夹中,继续在上述路径下执行指令:#crontabroot.cron此时,获取报文信息工作停止。

4、总结

智能变电站是坚强电网建设的核心,是变电站发展的方向。本文通过对比常规变电站与智能变电站二次电流电压不同采样方式,阐述TM模式下二次电压电流回路工作基本原理,分析调试中一些常见问题,希望能对其他继电保护调试工作者提供参考。

(作者单位:宁夏送变电工程公司调试分公司)

作者简介

何彦昊(1978-),男,甘肃兰州,本科,高级工程师,从事继电保护技术管理及现场调试工作。

上一篇:高职院校实践教学的问题与对策 下一篇:熵权法在多因素评估系统中的应用与研究