D5000系统命令行操作的简化方法

2016-05-30 07:20:18王秀茹贾敏戴堃
关键词:电力系统

王秀茹 贾敏 戴堃

摘 要:D5000系统平台是目前电力行业采用的先进调度主站系统,在实际使用过程中,由于D5000系统基于Linux系统为平台,有大量操作需要在命令行方式下进行,对维护人员的专业素质有较高要求,本文通过将各种命令制作成Shell脚本程序等方法来简化命令行环境下的操作,为维护人员快速简便维护提供了一种方式。

关键词:电力系统;D5000;Shell

D5000系统平台采用先进的软件开发技术,具有标准、开放、可靠、安全和适应性强等特点,在实际使用过程中,大量系统维护操作需要在命令行方式下完成,本文通过将各种命令制作成Shell脚本程序等方法来简化命令行环境下的操作,为维护人员快速简便维护工作提供了一种方式。

1 D5000系统结构

D5000运行于国产Linux内核的操作系统之上。Linux是在GUN公共许可权限下符合POSIX标准的操作系统,Linux是一种类似UNIX的操作系统,具有和UNIX类似的文件系统、用户接口。

2 标准Linux命令

2.1 Linux命令

Linux命令是很重要的工具,所谓命令,是我们在命令行输入的一串字符。Shell负责理解并执行这些字符串。Linux系统将命令行分成3个字段:命令名、命令选项和命令参数。以ls命令为例,“sy1-wh1:/home/d5000/suqian/data/screen_save # ls -l \Desktop”。ls:命令名,-l:命令选项,\Desktop:命令参数。

2.2 Shell简介

Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用Shell脚本编程,完成更加复杂的操作。Shell种类众多,常见的有:Bourne Shell、Bourne Again Shell、C Shell、K Shell等,在D5000系统中,默认使用的是Bourne Again Shell。

以导出数据库中某一变电站信息表的操作为例。操作步骤如下:

从数据库中找出“**变**表”,保存显示内容,插入U盘,在Shell中输入命令拷贝内容至U盘

sy1-wh1:/home/d5000/suqian/data/screen_save % su

口令:

sy1-wh1:/home/d5000/suqian/data/screen_save # fdisk -l

sy1-wh1:/home/d5000/suqian/data/screen_save # mount /dev/sde1 /mnt

sy1-wh1:/home/d5000/suqian/data/screen_save # cp 众兴变遥测表 /mnt

sy1-wh1:/mnt # umount /mnt

可以看出,一个简单的文件拷贝至U盘的过程在D5000系统中都需要进行如此烦琐的操作。所以,通过Shell编程对D5000系统的各项操作过程进行自动化是必要且行之有效的。

2.3 Shell脚本

Shell的一个重要特性是它自身是一个解释型的程序设计语言,它会解释并执行命令提示符下输入的命令。要多次执行一组命令,可以将这组命令放在一个命令文件中,然后可以像Linux系统提供的其他程序一样执行这个文件,这个命令文件就叫作Shell脚本。为了让Shell能读取并执行Shell脚本,Shell脚本的文件权限必须设置为可读和可执行。

2.4 Shell脚本格式

Shell脚本以“#!/bin/sh”开始,符号“#!”用来告诉系统它后面的参数是用来执行该文件的程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。要使脚本可执行:chmod +x filename 然后,可以通过输入:sh+filename 来执行脚本。

3 D5000命令输入的简化

由上可知,通过Shell脚本编程可以将D5000系统常用到的命令行操作制作成脚本文件形式保存在计算机上,待需要使用时直接调用该脚本文件即可。以U盘拷贝为例,写成Shell脚本文件部分内容如下:

#!/usr/bin/expect

spawn $env(SHELL)

expect -exact "// sy1-wh1:/home/d5000/suqian % "

send -- "data\cd screen_save\r"

send -- "su\r"

expect -exact "su\r\r

口令:"

send -- "root\r"

send -- "fdisk -l\r"

send -- "mount /dev/sdd1 /mnt\r"

send -- "cp 众兴变遥测表 /mnt\r"

普通Shell命令可以实现简单的控制流功能,如循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器;输入用户名、密码等进行交互的功能。而expect就使用来实现这种功能的工具。这里我们使用expect制作脚本文件,从而实现了自动输入用户名密码的交互功能。

4 结论

通过现场实际使用数月的反馈信息,在不影响D5000系统安全性的前提下,通过将D5000常用命令行操作制作成脚本文件的方式,可以较好地简化自动化运维人员的工作负担,提高工作效率,由于Linux系统的特点,不同脚本文件可以互相套用,几个小简单的脚本程序可以通过组合成为一个复杂的脚本程序,自动完成较复杂的任务。通过脚本程序完成的操作,可以减少人为输入命令错误的概率,减少重复劳动,有利自动化运维人员将更多精力放在运维工作上。

参考文献:

[1]D.坦思.LINUX与UNIX Shell编程指南[M].机械工业出版社,2000.

[2]Matt Welsh,Matthias Dalheimer.LINUX权威指南[M].中国电力出版社,2000.

作者简介:

王秀茹(1976-),女,本科,高级工程师,大二次设备专职,主要研究方向:电力系统自动化;贾敏(1983-),男,本科,工程师,主要研究方向:电力系统继电保护及自动化;戴堃(1984-),女,本科,工程师,自动化专职,主要研究方向:电力系统自动化。

猜你喜欢
电力系统
浅析继电保护自动化技术在电力系统中的应用
电力系统变电运行设备维护技术分析
并联电抗器在高压电网中的应用
试论电力继电保护运行及可靠性问题
信息时代的电力系统信息化经验谈
关于智能变电站继电保护技术优化探讨
探讨电力系统中配网自动化技术
科技视界(2016年21期)2016-10-17 20:00:58
配网自动化技术的应用探讨
科技视界(2016年21期)2016-10-17 19:54:47
一种新型高压电缆头制作方法
电力系统继电保护技术常见问题及对策