网络运维工具--shell批量下发
2021/8/3 7:07:20
本文主要是介绍网络运维工具--shell批量下发,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
网络运维工具–shell批量下发
此功能针对大批量设备下发相同命令比较实用,适配多个厂商,但多个厂商不能混用。
1、命令语法介绍:
1)采集命令一般无需处理,直接下发输入后下发即可。
命令示例:display cur
(可写多行命令实现一次登录采集完成)
2)配置命令需要增加回显完成标识符和命令模式(用来保证配置下发的安全性和完整性)。
#### 命令示例1:`0_]^interface loopback 0` #### 命令示例2:`1_]^interface loopback 0` #### 命令示例3:`]^interface loopback 0`
命令分解:
符号^
之前为回显匹配模式和回显完成标识符, 符号^
之后为实际下发的命令。
匹配模式用数字 0
和 1
表示, 0
代表精确匹配,回显的最后字符必须要一致;1
表示模糊匹配,回显标识符只需要在回显内容中出现即可,不需要回显标识符必须在回显的最后位置。
回显标识符一般为命令执行完成最后
显示的最后一个字符,各厂商一般如下:
厂商 | 回显标识符 |
---|---|
H3C | > |
HW | > |
ruijie | # |
cisco | # |
<H3C-TEST-01>system-view System View: return to User View with Ctrl+Z. [H3C-TEST-01]
例如此命令执行完成后回显标识符为]
而并非>
命令按照实际要下发的命令敲即可
2、融错语法
用来匹配可能会出现但不一定出现的情况,如从ftp下载文件时如文件不存在的情况下正常下载是没问题的,但当本地已经存在此文件时就会提示输入[Y/N]让用户判断,在此情况下可以使用该语法。
示例 ftp> get G1 G1 already exists. Overwrite it? [Y/N]:Y 227 Entering Passive Mode (10,168,1,123,21,108) 150 Connection accepted. . 226 Transfer complete. 3698 bytes received in 0.199 seconds (18.17 Kbytes/s) ftp>
从双减号‘–’开始为python的字典格式,对应两个键值,建固定不可修改,值可修改。
键 | 值含义 | 举例 |
---|---|---|
incloude | 回显可能包含的字符串 | 如上代码所示在回显中包含[Y/N]: |
input | 匹配到可能包含的字符串后执行下发的字符串 | 包含[Y/N]: 的情况下输入Y |
示例1:配置接口ip 操作命令: 1_]^system-view 1_]^interface loopback 0 1_]^ip address 172.16.1.1 255.255.255.255 1_>^return 1_>^save fo 回显内容: system-view System View: return to User View with Ctrl+Z. [H3C-TEST-01]interface loopback 0 [H3C-TEST-01-LoopBack0]ip address 172.16.1.1 255.255.255.255 [H3C-TEST-01-LoopBack0]return <H3C-TEST-01>save fo Validating file. Please wait... Configuration is saved to device successfully. <H3C-TEST-01>
示例2:从ftp下载文件到网络设备 操作命令: 0_> ^ftp 10.168.1.123--{'incloude':'(none)):;Password:','input':'admin;admin'} 0_> ^cd . 0_> ^get G1--{'incloude':'[Y/N]:','input':'Y'} 回显内容 ftp 10.168.1.123 Press CTRL+C to abort. Connected to 10.168.1.123 (10.168.1.123). 220 Browser Ftp Server. User (10.168.1.123:(none)): admin 331 Password required for this user. Password: 230 User Logged In. Remote system type is UNIX. Using binary mode to transfer files. ftp> cd . 250 CWD command successful. ftp> get G1 G1 already exists. Overwrite it? [Y/N]:Y 227 Entering Passive Mode (10,168,1,123,21,108) 150 Connection accepted. . 226 Transfer complete. 3698 bytes received in 0.199 seconds (18.17 Kbytes/s) ftp>
这篇关于网络运维工具--shell批量下发的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)