码迷,mamicode.com
首页 > 编程语言 > 详细

Python远程登录主机并生成表

时间:2017-03-12 22:02:29      阅读:270      评论:0      收藏:0      [点我收藏+]

标签:python parami远程批量登录主机获取ip

使用paramiko批量查询主机信息的脚本
由于打批量安装主机后,主机IP有时候dhcp分配的会乱,但是由于主机数量比较大,排查起来比较麻烦,所以写了一个巡检脚本(配合ipmi使用,此次脚本里面没有使用到生产环节上的ipmitool的命令)
有需要的可以把此当成模板,进行修改。

#-*-coding:utf-8-*-
import paramiko 
import time
import xlsxwriter
F = file(‘C:/Users/Administrator/Desktop/host.txt‘,‘r‘)
host=F.readlines()
F.close()
DATE=time.strftime(‘%Y-%m-%d‘,time.localtime())
‘‘‘创建检文件
‘‘‘
workbook = xlsxwriter.Workbook(‘C:/Users/Administrator/Desktop/‘+DATE+‘dsware.xlsx‘)
worksheet = workbook.add_worksheet(‘dsware_check_list‘)
worksheet.set_column(‘A:A‘,20)
bold = workbook.add_format({‘bold‘:True})
worksheet.write(‘A1‘,‘主机IP‘,bold)
worksheet.write(‘B1‘,‘主机BMC‘,bold)
username=‘root‘
password=‘123456‘
paramiko.util.log_to_file(‘syslogin.log‘)
ssh=paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  
LINE = 2
for  i in range (0,len(host)):
    hostname=host[i].strip(‘\n‘)
    try:
        ssh.connect(hostname=hostname,username=‘root‘,password=‘123456‘)
        stdin,stdout,stderr=ssh.exec_command("ifconfig | grep ‘inet addr:‘| grep -v ‘127.0.0.1‘|awk ‘{print $2}‘|awk -F ‘:‘ ‘{print $2}‘")
        a=‘A‘ + str(LINE)
        worksheet.write(a,hostname + ‘ BMC is‘ + stdout.read())
        LINE = LINE + 1 
        print a
    
    except Exception,e:
        a=‘A‘ + str(LINE)
        print a
        worksheet.write(a,hostname + ‘状态异常‘)
        LINE = LINE + 1 
        
ssh.close()
workbook.close()

本文出自 “在运维中学习” 博客,请务必保留此出处http://9041438.blog.51cto.com/9031438/1905657

Python远程登录主机并生成表

标签:python parami远程批量登录主机获取ip

原文地址:http://9041438.blog.51cto.com/9031438/1905657

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!