网络运维工具–shell批量下发

在这里插入图片描述

此功能针对大批量设备下发相同命令比较实用,适配多个厂商,但多个厂商不能混用。

1、命令语法介绍:

1)采集命令一般无需处理,直接下发输入后下发即可。

命令示例:display cur(可写多行命令实现一次登录采集完成)

2)配置命令需要增加回显完成标识符和命令模式(用来保证配置下发的安全性和完整性)。

#### 命令示例1:`0_]^interface loopback 0`
#### 命令示例2:`1_]^interface loopback 0`
#### 命令示例3:`]^interface loopback 0`

命令分解:

符号^之前为回显匹配模式和回显完成标识符, 符号^之后为实际下发的命令。

匹配模式用数字 01表示, 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, 命令, 示例, ftp, 运维, 回显, 标识符, 下发

相关文章推荐

添加新评论,含*的栏目为必填