Python远程登录主机并生成表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python远程登录主机并生成表相关的知识,希望对你有一定的参考价值。

使用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远程登录主机并生成表的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 配置远程主机ssh免密登录

Linux系统ssh远程免密登录

paramiko库实现远程登录主机上传下载

远程登录

ssh免密码登录

Python远程连接主机之paramiko模块