所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

S1720, S2700, S5700, S6720 V200R012(C00&C20) 配置指南-设备管理

本文档介绍了设备管理的配置,具体包括查看设备状态、 硬件管理、 堆叠配置、 SVF配置、 云管理、 PoE配置、 监控口配置、 OPS配置、 节能管理、 信息中心配置、 故障管理配置、 NTP配置、 以太时钟同步配置、 PTP配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
制作Python脚本

制作Python脚本

背景信息

用户在制作Python脚本的过程中,通过使用设备支持的OPS API,自定义开发功能。

操作步骤

  1. 新建一个文本文档,修改文件后缀名为.py。
  2. 按照Python脚本格式编辑脚本内容。

    # -*- coding: utf-8 -*-     # 声明使用utf-8编码格式,可以在Python脚本中添加中文注释。
    
    # 固定语句,导入ops模块。导入ops模块后,才能在脚本中使用设备支持的OPS API。详见OPS API列表
    import ops
    # 固定语句,导入sys模块。sys模块负责程序与设备内置Python解释器的交互,提供了一系列的函数和变量。导入sys模块后,可以使用这些函数和变量。函数和变量的相关信息,请参考官方Python文档。
    import sys
    # 固定语句,导入os模块。os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口。导入os模块后,可以使用这些接口。接口的相关信息,请参考官方Python文档。
    import os
    
    # 固定语句,定义订阅处理函数ops_condition。该函数在配置脚本助手的时候调用,用于订阅事件,由设备内置的框架脚本_frame.py调度执行。
    # 函数ops_condition的输入参数是_frame.py中创建的ops对象,用户可以在该对象下进行数据访问。
    def ops_condition(ops):
    	# 当前是订阅阶段,需要使用适用于订阅阶段的OPS API,详见设备支持的OPS API中的表8-1。以下以定时器事件订阅为例。
    	# 使用ops.timer.cron接口订阅一个定时器,以t1标识。其含义为在每周一06:00触发执行阶段指定的动作。可以根据实际需求修改该定时器。
    	# 当输入的参数值为字符串时,需要在字符串两端使用双引号。
    	# status和err_str为用户定义的脚本变量,分别表示ops.timer.cron接口的第一个返回值和第二个返回值。通常在调试阶段,可以通过print语句将返回值打印出来,便于查看调试信息和定位问题。
    	# 对于OPS API,用户可以根据实际需求决定是否需要返回值。如需要返回值,则必须根据各OPS API接口原型指定返回值的个数。返回值的含义因OPS API而异。详细描述请参见各OPS API。
    	# 对于ops.timer.cron接口,第一个返回值是数字时,0表示该API执行成功,1表示该API执行失败。第二个返回值仅当第一个返回值为1时返回,为字符串形式,描述执行失败的原因。
    	status, err_str = ops.timer.cron("t1", "0 6 * * 1")
    	# 指定函数的返回值。函数的返回值可以作为处理结果,也可以通过result函数明确返回处理结果(详见返回事件执行结果)。
    	# 函数的返回值作为函数的输出,可以赋值给其他变量,作为其他函数的输入。
    	# 这里指定函数ops_condition的返回值为0,表示返回值为0时,ops_condition函数执行成功。
    	return 0
    
    # 固定语句,定义执行处理函数ops_execute。该函数在脚本事件执行的时候调用,用于执行动作,由设备内置的框架脚本_frame.py调度执行。
    # 函数ops_execute的输入参数是_frame.py中创建的ops对象,用户可以在该对象下进行数据访问。
    def ops_execute(ops):
    	# 当前是执行阶段,需要使用适用于执行阶段的OPS API,详见设备支持的OPS API中的表8-1。以下以打开命令行通道执行命令行命令关闭命令行通道为例。
    	# 打开命令行通道。只有打开命令行通道之后,才能执行命令行。执行完命令行之后,需要关闭命令行通道。
    	# handle和err_desp为用户定义的脚本变量,分别表示ops.cli.open接口的第一个返回值和第二个返回值。通常在调试阶段,可以通过print语句将返回值打印出来,便于查看调试信息和定位问题。
    	# 执行命令行命令和关闭命令行通道接口使用打开命令行通道接口的第一个返回值作为输入参数。因此使用打开命令行通道接口时,必须指定返回值。
    	handle, err_desp = ops.cli.open()
    	# 执行命令display interface gigabitethernet 0/0/1
    	# 返回值result为None时,表示命令行未能发送给CLI或者命令行执行超时,其他值为显示输出,即CLI中执行的命令行。返回值n11为Next:0表示后续没有输出了,Next:1表示后续还有输出。返回值n12仅在返回值result为None时显示,表示命令行执行失败的原因。
    	result1, n11, n12 = ops.cli.execute(handle, "display interface gigabitethernet 0/0/1")
    	# 执行命令display current-configuration interface gigabitethernet 0/0/1
    	result2, n21, n22 = ops.cli.execute(handle, "display current-configuration interface gigabitethernet 0/0/1")
    	# 命令行执行结束,关闭命令行通道。
    	result = ops.cli.close(handle)
    	# 将display interface gigabitethernet 0/0/1命令的显示结果记录到日志中,可以在日志文件中查看相应信息。
    	log1, descri_str1 = ops.syslog(result1, "informational", "syslog")
    	# 将display current-configuration interface gigabitethernet 0/0/1命令的显示结果记录到日志中,可以在日志文件中查看相应信息。
    	log2, descri_str2 = ops.syslog(result2, "informational", "syslog")
    	# 指定函数的返回值。函数的返回值可以作为处理结果,也可以通过result函数明确返回处理结果(详见返回事件执行结果)。
    	# 函数的返回值作为函数的输出,可以赋值给其他变量,作为其他函数的输入。
    	# 这里指定函数ops_execute的返回值为0,表示返回值为0时,ops_execute函数执行成功。
    	return 0
    • Python脚本包含三部分:导入Python模块、ops_condition(ops)订阅函数和ops_execute(ops)执行函数。

    • 以上脚本示例的订阅函数中,订阅的事件是通过定时器指定了特定时间(每周一06:00)。到达指定时间时,触发执行函数中定义的动作,即触发设备执行display interface gigabitethernet 0/0/1display current-configuration interface gigabitethernet 0/0/1命令。由此可以实现定期对接口GE0/0/1进行检查。命令的显示信息通过ops.syslog接口记录到日志。日志信息可以通过控制口或telnet方式登录到设备,通过命令display logbuffer显示保存在日志缓存中的内容,在设备上对日志进行保存,可以使用syslog协议将日志信息输出到日志服务器。

    • 无论Python脚本中使用的OPS API执行是否成功,设备都会记录相关的日志。对应日志的内容,请参见S1720, S2700, S5700, S6720 V200R012(C00&C20) 日志参考》中的“OPSA”。

  3. 保存Python脚本。
翻译
下载文档
更新时间:2018-12-24

文档编号:EDOC1100038438

浏览量:34818

下载量:2050

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页