批量備份網絡設備配置

ftp 備份配置,save保存配置

paramiko,re

例子


ssh = paramiko.SSHClient()    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    try:
        ssh.connect(
            hostname=host,
            username=user,
            password=passwd,
            port=22,
            pkey=None, look_for_keys=False,
            timeout=3, allow_agent=False)
        remote_conn = ssh.invoke_shell()
        time.sleep(0.1) # 設置間隔


        for cmdline in cmdlist:
            remote_conn.send("%s\n" % cmdline)
            time.sleep(0.5)

        output = remote_conn.recv(1000).decode()
        devname = re.findall(r'\<(.*)\>.*',output)[0] #正則導入主機名
        remote_conn.send('rename startup.cfg %s-%s.cfg-%s\n' % (devname,host,date))
        time.sleep(1)


        remote_conn.send('save\n')  #保存設備當前配置
        time.sleep(0.5)
        save = remote_conn.recv(1000).decode()
        if save.find('written') > -1:
            remote_conn.send("Y\n")
            time.sleep(1)
           # print(remote_conn.recv(1000))
            remote_conn.send("\n")
            # print(remote_conn.recv(1000))
            remote_conn.send("Y\n")
            # time.sleep(5)
            # print(remote_conn.recv(1000))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章