基于Windows批处理实现前兆仪器网络状态监控及观测数据备份
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Windows批处理实现前兆仪器网络状态监控及观测数
据备份
郭宝仁;林慧卿;刘俊芳;郭宇
【摘要】文章介绍了Windows批处理的优点,详细说明通过批处理文件结合计划任务实现定时监控前兆仪器网络状态,通过ftp方式下载当天数据文件.当网络中断时,通过语音告警提醒值班人员及时处理,确保前兆仪器正常运行,提高仪器运行率.【期刊名称】《山西地震》
【年(卷),期】2019(000)001
【总页数】2页(P15-16)
【关键词】批处理;计划任务;运行率;前兆仪器
【作者】郭宝仁;林慧卿;刘俊芳;郭宇
【作者单位】山西省地震局定襄地震台,山西定襄035400;太原大陆裂谷动力学国家野外科学观测研究站,山西太原030025;福建省地震局永安地震台,福建永安366000;山西省地震局定襄地震台,山西定襄035400;太原大陆裂谷动力学国家野外科学观测研究站,山西太原030025;山西省地震局定襄地震台,山西定襄035400;太原大陆裂谷动力学国家野外科学观测研究站,山西太原030025
【正文语种】中文
【中图分类】P315-39
0 引言
前兆仪器的正常运行是保证观测数据连续与完整的重要前提。
当网络中断时,前兆仪器可能死机或故障,如不及时处理,就可能导致仪器缺记。
所以,定时监控前兆仪器网络状态非常重要。
传统方式采用ping命令手工检查网络状态,效率较低。
检测时,需要手动输入所有仪器IP地址,并且无法告警[1]。
文章通过编辑批处理文件来监控前兆仪器网络状态,并结合Windows计划任务,实现定时下载当天数据文件。
1 批处理概述
批处理是一种简化的脚本语言,也称作宏。
它应用于DOS和Windows系统中,是
由DOS或者Windows系统的内嵌命令解释器解释运行。
批处理文件具有.bat或者.cmd的扩展名,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的
文本编辑器来编辑[2]。
批处理的作用就是能够自动连续地执行多条命令,一个批
处理文件就是多条批处理命令的合集。
一个最简单的程序,执行一次批处理就可以将所包含的所有命令从头到尾执行一遍,提高了工作效率。
简单的批处理文件使用记事本就可以编辑,方便、灵活、功能强大、自动化程度高、占用电脑资源少。
2 批处理监控仪器网络连接的实现
当网络中断时,可造成仪器死机或者网络故障,若不及时发现,会造成观测数据缺失。
利用批处理程序实现仪器网络监控,程序简单,对系统环境要求低,利用Windows自带的记事本软件就可编辑,编写完成保存为.bat文件,双击即可运行。
文件把需要监测的仪器IP地址、ftp的用户名、密码和仪器内数据存放路径分别
逐行写在文件名为IP.txt、name.txt、password.txt、path.txt的文本文档内,程序通过ping命令逐行检查、判断IP地址的连接情况,使用ftp命令下载当日数据。
批处理程序实现仪器监控流程和主要代码如图1所示。
图1 程序流程图Fig.1 Program flow chart
程序主要代码:
(1) 网络连接监测部分。
@echo off&setlocal enabledelayedexpansion
:start
set /a nd+=1
set /a time = %TIME:~0,2%%TIME:~3,2%
set /a date = %DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
FOR /F "delims=" %%i in (IP.txt) do (
set /a ndd+=1
ping %%i -n 1 >nul&&(echo %%i 正常&&(if %ndd%==%nd%6000 goto:download))||echo %%i 中断&&echo %%i>不通的 IP.txt&&call:warn) goto:start
(2) 报警部分。
:warn
mshta vbscript:createobject("sapi.spvoice").speak("注意有仪器失去连接")(window.close)
FOR /F "delims=" %%i in (不通的IP.txt) do (
ping %%i -n 1 >nul&&(goto:start&&del 不通的IP.txt)||echo %%i 中断
&&goto:warn)
(3) 数据下载部分。
:download
set /a j+=1
for /f "delims=" %%ip in (IP.txt) do (
set /a ni+=1
if !ni!==%j% (
echo open %%ip>ftp.txt
for /f "delims=" %%n in (name.txt) do (
set /a nn+=1
if !nn!==%j% (
echo %%n>>ftp.txt
for /f "delims=" %%p in (password.txt) do (
set /a np+=1
if !np!==%j% (
echo %%p>>ftp.txt
echo cd path>>ftp.txt
echo lcd C:\Users\dxt\Desktop>>ftp.txt
echo get *%date%.epd %ip%%date%%time%.txt>>ftp.txt
echo bye>>ftp.txt
ftp -s:ftp.txt
del ftp.txt
))))))
set /a ni=0
set /a nn=0
set /a np=0
if %j% equ 6 (set/a j=0)
goto:start
若在计算机系统工具任务计划程序内,新建计划任务时,触发器选择在每日固定时
间,操作选择执行该批处理文件,则在以后每天所选择的固定时间点,该批处理命令将自动执行,不再需要任何人为操作,完全实现自动化。
3 结语
该程序编辑修改方便,操作简单,对计算机性能要求较低。
后台运行时,完全不影响计算机的正常工作,若结合计算机内的计划任务,此程序则可完全实现自动化。
该批处理程序可以定时监控前兆仪器网络状态、网络的连接状态,定时下载前兆仪器当天数据文件,实现当天数据的定时备份。
监控到前兆仪器网络中断时,自动发出语音告警,满足前兆仪器网络状态实时监控的需求。
该程序的运用可提高前兆仪器运维工作效率,减少仪器缺记,进而提高观测数据连续率和观测资料的质量。
参考文献:
【相关文献】
[1] 张正霞,刘康延,吕睿.山西历史地震图纸档案服务社会科研新模式研究[J].山西地震,2018(4):53-56.
[2] 吕岚.批处理在计算机系统安全中的应用[J].办公自动化,2016(22):55-56.。