• 自动运维之网络设备割接配置按预定步骤操作


       作者:邓聪聪 

      向着自动化运维再次前进一小步!!!

      本着自动化运维的理想,提前解放双手,让系统按照提前部署的方案来执行操作步骤,以此学习到这样的一个小技巧

    [root@bogon ~]# cat telnet.sh 
    #!/bin/bash
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
    
    OUTPUT=/tmp/outputfile
    TEMPFIFO=/tmp/fifofile
    FILE=/root/aaa/
    
    touch $OUTPUT
    tail -f $OUTPUT &
    mknod $TEMPFIFO p
    exec 8<>$TEMPFIFO
    
    telnet 192.168.1.252 <&8 > $OUTPUT &
    sleep 1
    echo "user" >> $TEMPFIFO
    sleep 1
    echo "password" >> $TEMPFIFO
    sleep 1
    echo "n" >> $TEMPFIFO
    sleep 1
    echo "sys" >> $TEMPFIFO
    sleep 1
    echo "dis ip routing" >> $TEMPFIFO
    sleep 1
    echo "dis cu int vlan" >> $TEMPFIFO
    sleep 1
    echo "quit" >> $TEMPFIFO
    sleep 1
    echo "quit" >> $TEMPFIFO
    
    
    mv $OUTPUT $FILE
    
    rm -rf $OUTPUT $TEMPFIFO

     python用法:

    #!/usr/bin/env python
    #coding:utf-8
    
    import time
    from telnetlib import Telnet
    now = time.strftime('%Y-%m-%d')
    
    def tel(addr,user,pwd):
            tn = Telnet(addr)
            tn.write(user.encode('ascii')+b'
    ')
            tn.write(pwd.encode('ascii')+b'
    ')
            tn.write(b'sys
    ')
            time.sleep(1)
            tn.write(b'user-interface vty 0 4
    ')
            time.sleep(1)
            tn.write(b'screen-length 0
    ')
            time.sleep(1)
            tn.write(b'dis cu
    ')
            time.sleep(5)
            rsp = tn.expect([],timeout=1)[2]
            return rsp
    
    if __name__ == "__main__":
            fp = open('/tmp/ip.txt','r')
            for ip in fp:
              print("backing up "+ip.strip())
              conf = tel(ip.strip(),'dengcc','dengcc@521')
              print(ip.strip()+' was finished!')
              fw = open("/tmp/"+ip.strip()+".txt"+"_"+now,'wb')
              fw.write(conf)
              fw.close()
            print('done!')
            fp.close()
  • 相关阅读:
    C#面向对象的三大特性概述
    SQL Server 低版本还原高版本的数据库
    将表转化成脚本的存储过程
    iis安装失败解决方法
    kafka consumer 配置详解
    C#解析XML文件
    blat
    REST接口POST方法发送文件到服务器(C#)
    http://www.codeproject.com/Questions/117324/uploadfileincwithHttpWebRequest
    PDF Password Remover
  • 原文地址:https://www.cnblogs.com/dengcongcong/p/8663515.html
Copyright © 2020-2023  润新知