Linux下expect批量更改交换机端口属性

简介:

一、for循环

功能:将端口划入同一vlan。

将10.240.210.29交换机上的1到36端口划入vlan210

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/expect -f
#set HOST [lindex $argv 0]
#set PORT [lindex $argv 0]
#set vlan [lindex $argv 1]
set  vlan 210
for  { set  PORT 1 } {$PORT <= 36} {incr PORT} {
    spawn telnet 10.240.210.29
    sleep  1
    expect  "Username:"
       send  "admin\r"
    expect  "Password:"
       send  "E7qsZy0A02yu\r"
    sleep  1
       send  "sys\r"
    sleep  1
       send  "int GigabitEthernet 1/0/$PORT\r"
    sleep  1
       send  "undo shutdown\r"
    sleep  1
       send  "port access vlan $vlan\r"
    sleep  1
       send  "loopback-detection enable vlan 1 to 4094\r"
    sleep  1
       send  "stp edged-port\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    interact
}

二、while循环结合自定义文件

功能:将端口划入不同的vlan

将10.240.210.7交换机上的43、44端口分别划入vlan210、vlan310


将端口与vlan号按一下格式写入port_vlan.list文件,第一列为端口号,第二列为vlan号。

1
2
3
root@extmail scripts$cat /var/lxh/scripts/port_vlan.list 
43 210
44 310
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/expect -f
#set HOST [lindex $argv 0]
#set PORT [lindex $argv 0]
#set vlan [lindex $argv 1]
set  file  "/var/lxh/scripts/port_vlan.list"
set  fd [ open  $ file  r]
while  {[gets $fd line]>=0 } {
    set  PORT [lindex $line 0]
    set  vlan [lindex $line 1]
    spawn telnet 10.240.210.7
    sleep  1
    expect  "Username:"
       send  "admin\r"
    expect  "Password:"
       send  "E7qsZy0A02yu\r"
    sleep  1
       send  "sys\r"
    sleep  1
       send  "int GigabitEthernet 1/0/$PORT\r"
    sleep  1
       send  "undo shutdown\r"
    sleep 
       send  "port access vlan $vlan\r"
    sleep  1
       send  "loopback-detection enable\r"
    sleep  1
       send  "loopback-detection action semi-block\r"
    sleep  1
       send  "stp edged-port enable\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    interact
}
close $fd
exit  0




本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1666333,如需转载请自行联系原作者
相关文章
|
4月前
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
318 11
|
11月前
|
运维 资源调度 监控
|
4月前
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
3月前
|
安全 网络协议 Linux
Linux查 ssh端口号和服务状态
本指南详细介绍如何检查SSH服务的运行状态,包括通过进程命令验证服务启动、查看监听端口、检测系统服务状态以及防火墙配置。同时提供安全建议,如修改默认端口、禁用密码登录和定期更新系统,确保SSH服务稳定与安全。适用于不同Linux发行版(Systemd/SysVinit),帮助用户全面排查和优化SSH配置。
|
11月前
|
运维 监控 安全
|
11月前
|
存储 Linux
认识Linux文件类型和属性
认识Linux文件类型和属性
136 4
|
6月前
|
应用服务中间件 Linux 开发者
用的到linux-tomcat端口占用排查-Day5
通过本文的介绍,详细讲解了在CentOS 8系统上排查和解决Tomcat端口占用问题的方法。从使用 `netstat`、`lsof`和 `ss`命令检查端口占用情况,到使用 `ps`和 `top`命令查找和停止占用端口的进程,再到修改Tomcat端口配置,最后介绍了自动化脚本的方法。希望本文能帮助系统管理员和开发者有效地解决端口占用问题,确保Tomcat服务器的正常运行。
190 11
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
1170 2
|
9月前
|
关系型数据库 MySQL Linux
Linux下mysql数据库的导入与导出以及查看端口
本文详细介绍了在Linux下如何导入和导出MySQL数据库,以及查看MySQL运行端口的方法。通过这些操作,用户可以轻松进行数据库的备份与恢复,以及确认MySQL服务的运行状态和端口。掌握这些技能,对于日常数据库管理和维护非常重要。
356 8
|
11月前
|
监控 安全 网络虚拟化