<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                作者:董帥嶺 # 一、前言 # 二、模塊說明 # 三、源碼說明 ``` #!/usr/bin/python3 # -*- coding:utf-8 -*- import os import time from netmiko import ConnectHandler # netmiko模塊,專門支持路由交換設備 now = time.strftime("%Y%m%d",time.localtime(time.time())) log_time = time.strftime("%Y-%m-%d_%H-%M-%S",time.localtime()) #格式化時間 cu_path = os.getcwd() # 獲取當前運行目錄 # 當前路徑下創建目錄的函數 def mkdir(path): import os path = path.strip() print(path) path = path.rstrip("\\") isExists = os.path.exists(path) if not isExists: os.makedirs(path) return True else: return False # 讀取需要巡檢的IP列表信息,需要特定的格式 with open(os.getcwd()+'\\config\\IP_list.ini') as file: file = file.readlines() #讀取文件的所有信息 format_file = [] #創建空列表 for line in file: # 循環每一行的信息,賦值給變量line imgfile = line.strip() # 格式化行的內容,去除結尾的空格回車啥的 format_file.append(imgfile) #將格式化后的行信息添加至format_file的列表中 i = 0 for files in format_file: sigle_file = str.split(files, ',') #獲取ip_list.ini的行信息,然后格式化,取行信息按照“,”進行分割,并加入sigle_file列表中。 i = i + 1 # SW列表信息為netmiko模塊需要的格式信息 SW = { 'device_type': sigle_file[4], 'username': sigle_file[2], 'ip': sigle_file[1], 'password': sigle_file[3] } #print(SW) try: #防止報錯程序停止運行 connect = ConnectHandler(**SW) #連接交換機,開始巡檢啦!!! # !注意此處執行一個配置命令,取消分屏操作。 print(log_time + ' Successfully connected to '+sigle_file[1]) # 下面都是巡檢的命令,并將結果復制給變量 version = connect.send_command('display version') device = connect.send_command('display device') clock = connect.send_command('display clock') cpu = connect.send_command('display cpu-usage') memory = connect.send_command('display memory') fan = connect.send_command('display fan') power = connect.send_command('display device power') environment = connect.send_command('display environment') users = connect.send_command('display users') acl = connect.send_command('display acl all') routing_table = connect.send_command('display ip routing-table') arp = connect.send_command('display arp') mac = connect.send_command('display mac-address') interface_brief = connect.send_command('display interface brief') ip_interface_brief = connect.send_command('display ip interface brief') stack_con = connect.send_command('display stack configuration') stack_top = connect.send_command('display stack topology') current_configuration = connect.send_command('display current-configuration') trapbuffer = connect.send_command('display trapbuffer') logbuffer = connect.send_command('display logbuffer') # 往log文件里面寫入記錄信息 mkdir(cu_path + "\\log") # 當前目錄下創建log,存放生成的log文件 # 定義生成log文件的名字和格式 fo = open(cu_path + '\\log\\Py_'+sigle_file[0]+'_'+sigle_file[1]+'_' + log_time + '.log', 'w',encoding="utf-8") fo.write(sigle_file[0]) #文檔第一行寫入 設備用途 fo.write('\r\n') fo.write(sigle_file[1]) # 文檔第二行寫入,設備的IP地址 fo.write('\r\n') fo.write(log_time) #寫入log生成的時間 fo.write('\r\n') fo.write('\r\n') fo.write('\r\n') fo.write("display version####") #為了后邊操作log生成word使用的分割符 fo.write('\r\n') fo.write(version) # 將巡檢出來的內容復制給變量,然后寫入log文件中 fo.write('\r\n') fo.write('\r\n') fo.write("display device####") fo.write('\r\n') fo.write(device) fo.write('\r\n') fo.write('\r\n') fo.write("display clock####") fo.write('\r\n') fo.write(clock) fo.write('\r\n') fo.write('\r\n') fo.write("display cpu-usage####") fo.write('\r\n') fo.write(cpu) fo.write('\r\n') fo.write('\r\n') fo.write("display memory####") fo.write('\r\n') fo.write(memory) fo.write('\r\n') fo.write('\r\n') fo.write("display fan####") fo.write('\r\n') fo.write(fan) fo.write('\r\n') fo.write('\r\n') fo.write("display device power####") fo.write('\r\n') fo.write(power) fo.write('\r\n') fo.write('\r\n') fo.write("display environment####") fo.write('\r\n') fo.write(environment) fo.write('\r\n') fo.write('\r\n') fo.write("display users####") fo.write('\r\n') fo.write(users) fo.write('\r\n') fo.write('\r\n') fo.write("display acl all####") fo.write('\r\n') fo.write(users) fo.write('\r\n') fo.write('\r\n') fo.write("display ip routing-table####") fo.write('\r\n') fo.write(routing_table) fo.write('\r\n') fo.write('\r\n') fo.write("display arp####") fo.write('\r\n') fo.write(arp) fo.write('\r\n') fo.write('\r\n') fo.write("display mac####") fo.write('\r\n') fo.write(mac) fo.write('\r\n') fo.write('\r\n') fo.write("display interface brief####") fo.write('\r\n') fo.write(interface_brief) fo.write('\r\n') fo.write('\r\n') fo.write("display ip interface brief####") fo.write('\r\n') fo.write(ip_interface_brief) fo.write('\r\n') fo.write('\r\n') fo.write("display stack configuration####") fo.write('\r\n') fo.write(stack_con) fo.write('\r\n') fo.write('\r\n') fo.write("display stack topology####") fo.write('\r\n') fo.write(stack_top) fo.write('\r\n') fo.write('\r\n') fo.write("display current-configuration####") fo.write('\r\n') fo.write(current_configuration) fo.write('\r\n') fo.write('\r\n') fo.write("display trapbuffer####") fo.write('\r\n') fo.write(trapbuffer) fo.write('\r\n') fo.write('\r\n') fo.write("display logbuffer####") fo.write('\r\n') fo.write(logbuffer) fo.write('\r\n') fo.write('\r\n') fo.write("巡檢結束####") # 巡檢結束標識位,為了操作log使用 fo.write('\r\n') fo.close() except Exception as e: # 配合try使用,處理報錯信息的 print(e) pass continue #繼續進行函數循環,直到結束 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看