zoukankan      html  css  js  c++  java
  • 自动运维之网络设备割接配置按预定步骤操作

       作者:邓聪聪 

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

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

    [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()
  • 相关阅读:
    Velocity的使用小记
    fastJson的SerializeFilter使用
    快捷的时间转化
    How to execute a Stored Procedure with Entity Framework Code First
    自定义 ASP.NET Identity Data Model with EF
    Asp.Net Core get client IP
    HTTP 请求头中的 X-Forwarded-For
    HttpRequest,WebRequest,HttpWebRequest,WebClient,HttpClient 之间的区别
    【逻辑】500桶酒,找毒酒
    Asp.Net Core 输出 Word
  • 原文地址:https://www.cnblogs.com/dengcongcong/p/8663515.html
Copyright © 2011-2022 走看看