最近因为工作需要,我需要在ssh的时候保存几千台网关的session,工作量相当大(也就是ssh的时候需要记住用户名和密码,然后还要再session选项中录入enable密码,相当繁琐),而且设备的用户密码和enable密码都是一样的,所以想到利用这段时间在学的python帮我处理这些重复无意义的工作,这也是第一次体会到python的实用性。
session文件的存放位置可以在crt的会话或全局设置中找到:
通过Beyond Compare 软件对比过ini文件后,发现基本除了第37行的hostname根据设备ip的不同不一样外,其余内容是一样的,所以现在的目的很明确,批量生成根据ip地址为文件名的ini文件,内容copy已存文件的内容,只是把第37行的hostname修改为自己的ip即可。
代码如下:
pri = open('G:\10.23.213.1.ini')
cont=pri.read()
for line in open('G:\test\abc.txt'):
sub = open('G:\test\{ip}.ini'.format(ip=line.strip(' ')), 'w')
sub.write(cont.replace('10.23.213.1', line))
效果如下:
之后把这些生成的配置文件搬到CRT session文件夹下就ok了。
.ini 文件是一个没有写入信息的没用的文件,因为readline读到最后一个空白行,删除即可