环境背景
可管理华为交换机若干,python3 运维安全需求,定期备份网络设备配置
步骤
- 安装netmiko
pip3 isntall netmiko
注意netmiko默认的连接超时时间只有10秒钟,需要改conn_timeout大于等于60s。 2. 编写python脚本
from netmiko import ConnectHandler
import time
import os
##创建实时时间文件夹
def mkdir(file_time):
folder = os.path.exists(file_time)
if not folder:
os.makedirs(file_time)
def backup_sw_config(ip_path, file_time):
with open(ip_path, 'r', encoding='UTF-8') as f:
lines = f.readlines()
for line in lines:
line = line.rstrip("\n")
a = line.split(' ')
print(a)
ip = a[0]
username = a[1]
password = a[2]
type = a[3]
device = ConnectHandler(device_type=type, ip=ip, username=username, password=password)
print('已连接上%s' % ip)
output = device.send_command('dis cu')
with open('f:/交换机备份/%s/%s-%s.conf' % (file_time ,ip, file_time), "w+") as wf:
wf.write(output)
print('已采集%s' % ip)
device.disconnect()
if __name__ == '__main__':
print('正在创建文件夹')
file_time = time.strftime("%Y-%m-%d", time.localtime())
mkdir(f'f:/交换机备份/'+file_time)
print('正在采集设备配置,请稍等......')
backup_sw_config('f:/配置文件.txt',file_time)
print('已全部采集成功')
配置文件格式
# 格式 10.10.10.10 admin 111111 huawei
# ip 用户名 密码 交换机类型,其他设备类型名百度
注意修改为自己存储的路径 3. 定时任务执行脚本 略