使用Python 实现多主机简单的批量管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python 实现多主机简单的批量管理相关的知识,希望对你有一定的参考价值。
1,当前操作系统环境
2,安装python所使用到的模块,使用pip命令安装
yum -y install gcc
#安装pycrypto
wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz
tar -xf pycrypto-2.6.tar.gz
cd pycrypto-2.6/
python setup.py build && python setup.py install
#测试,注意大小写
python>> import Crypto
#安装 paramiko
unzip paramiko-1.7.5.zip
cd paramiko-1.7.5
python setup.py build && python setup.py install
#测试:
python>> import paramiko
3,下面我们就可以使用paramiko模块实现多个主机简单批量管理 ,我这里用到了python的多线程threading模块,下面就是一个简单的demo供大家参考
import paramiko
import threading
import time
#首先我们先定义一个主机列表(保证在一台 控制其他主机的服务器上可以免密钥登录多台配控制的主机上,有两种方式,一种是基于用户名和密码的,一种是基于公钥的认证方式)
hosts =[(ip1,username1,password),(ip2,username2,password2),(ip3,username3,password3)]
#创建ssh对象
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
def run(host_info,cmd):
ip,username,password = hostinfo
ssh.connect(ip,username,pasword)
stdin,stdout,stderro = ssh.exec_command(cmd)
cmd_result = stdout.read(),stderr.read()
print cmd_result
return cmd_result
for i in hosts:
t = threading.Thread(target=run,args=[i,‘you input cmd‘])
t.start()
4,通过上面的例子基本上及实现了一个多主机简单的批量管理,当然你可以扩展的更具体复杂
以上是关于使用Python 实现多主机简单的批量管理的主要内容,如果未能解决你的问题,请参考以下文章