还在手动敲命令?5个自动化小技巧提升效率一大截

360影视 动漫周边 2025-09-16 18:13 1

摘要:面对几十甚至上百台交换机、路由器,重复执行相同配置(如修改SNMP、关闭未使用端口、备份配置),不仅耗时耗力,还极易出错。

号主:老杨丨11年资深网络工程师,更多网工提升干货,

“一台一台登录设备,复制粘贴命令……”这是不少网工朋友的日常写照。

面对几十甚至上百台交换机、路由器,重复执行相同配置(如修改SNMP、关闭未使用端口、备份配置),不仅耗时耗力,还极易出错。

“改完20台交换机,发现第3台少配了一条commit……”

今天不讲复杂的Python脚本或Ansible架构,而是分享 5个实用、易上手、无需编程基础的自动化小技巧,跟着我,帮你把“手动1小时”的工作变成“自动5分钟”。

场景:为100台接入交换机统一配置管理IP、网关、SNMP。

传统做法:逐台登录 → 逐条输入命令 → 回车 → 保存

1、自动化做法:在 Excel 中列出所有设备参数:

2、使用 CONCATENATE函数 拼接命令模板:

="interface Vlanif 10" & CHAR(10) &
" ip address " & B2 & " 255.255.255.0" & CHAR(10) &
" quit" & CHAR(10) &
"ip route-static 0.0.0.0 0.0.0.0 " & C2 & CHAR(10) &
"snmp-agent sys-info location " & D2
3、复制生成的命令块 → 粘贴到SecureCRT或MobaXterm → 批量执行

✅ 适用场景:批量配置IP、VLAN、路由、SNMP等结构化配置

✅ 优势:零学习成本,Excel人人都会

场景:同时在多台华为交换机上关闭未使用的端口。

操作步骤(以SecureCRT为例):

1、打开多个设备的SSH会话窗口

2、右键标签栏 → Send to All Sessions(发送到所有会话)

3、输入通用命令:

system-view
interface range GigabitEthernet 0/0/1 to 0/0/24
shutdown
description Unused Port
commit
4、回车 → 所有设备同步执行

提示:可配合“日志记录”功能,自动保存每台设备的输出结果。

✅ 适用场景:紧急批量操作、临时策略下发、快速排障

✅ 注意:确保所有设备型号和OS版本兼容,避免命令不识别

技巧3:用华为eSight / H3C iMC 实现配置模板批量部署

场景:全网交换机统一启用NTP时间同步。

传统做法:登录每台设备 → 配置NTP服务器 → 保存

自动化做法(以华为eSight为例):

1、登录eSight平台

2、进入配置管理 → 配置脚本

3、创建脚本模板:

ntp-service unicast-server 192.168.1.100

clock timezone BJ add 08:00
4、选择目标设备组(如“所有接入交换机”)

5、一键下发 → 系统自动登录、执行、回显结果

✅ 优势:图形化操作,无需记忆命令支持定时任务、版本对比、合规检查适合中大型企业网络

场景:每天自动备份所有核心交换机的配置文件。

简化版Python脚本(无需复杂框架):

import paramiko
import time

devices = [
{'ip': '192.168.1.1', 'username': 'admin', 'password': 'Huawei123'},
{'ip': '192.168.1.2', 'username': 'admin', 'password': 'Huawei123'},
]

for device in devices:
ssh = paramiko.sshClient
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect(device['ip'], username=device['username'], password=device['password'])

shell = ssh.invoke_shell
shell.send('screen-length 0 temporary\n')
time.sleep(1)
shell.send('display current-configuration\n')
time.sleep(10) # 等待输出

output = shell.recv(65535).decode('utf-8')
with open(f"{device['ip']}_config_{time.strftime('%Y%m%d')}.cfg", 'w') as f:
f.write(output)

ssh.close
print(f"{device['ip']} 配置已备份")
✅ 只需安装 paramiko 库:pip install paramiko

✅ 可结合Windows任务计划或Linux crontab定时运行

推荐工具:

Text Mechanic(https://textmechanic.com):文本处理神器

CSV to CLI Config(搜索即可):CSV转命令行配置

使用示例:

1、准备一个CSV文件,包含端口描述信息:

switch,port,desc
SW-A,GE0/0/1,"PC-财务-张三"
SW-A,GE0/0/2,"PC-研发-李四"
2、上传到在线工具,设置模板:

[{{switch}}] interface {{port}}
[{{switch}}] description {{desc}}
3、生成完整命令列表,直接执行

✅ 适合临时任务、快速交付场景

别再手动敲命令了,让机器为你打工。

来源:网络工程师俱乐部一点号

相关推荐