使用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

wget https://pypi.python.org/packages/2b/27/b64860e7b208ff1dd36fe208d07bca1f9637a11fe733e2f2ceea587c3f75/paramiko-1.7.5.zip

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,通过上面的例子基本上及实现了一个多主机简单的批量管理,当然你可以扩展的更具体复杂

原文地址:http://blog.51cto.com/13718210/2134929

时间: 2024-10-15 05:11:10

使用Python 实现多主机简单的批量管理的相关文章

史上图形最简单Linux-Unix-Windows批量管理服务器软件工具

Windows 下 批量管理,批量监控,批量操作,批量安全扫描 linux Solaris Aix HP-Unix Windows 等操作系统界面最简洁的图形工具. 批量执行多台服务器命令,批量修改密码,批量执行服务器脚本,批量上传文件,解放你的双手,五分钟批量执行上千台服务器命令. Unix 实验室服务器批量管理监控系统,简称 UnixShellManager UnixShellManager 分简装版, 标准版,企业版. UnixShellManager 实验室批量管理监控系统,能够实现对

利用Python在堡垒机模式下批量管理后端nginx服务器

在集群环境中,有时候需要批量修改nginx配置,或批量添加vhost主机.手动一个个添加,效率太慢,借助Fabric写了一个批量分发的脚本,会提高不少效率. 思路: (1.在一台nginx修改配置或添加vhost主机,并测试; (2.测试成功后,将配制文件推送至堡垒机(跳板机); (3.在堡垒机上将配置文件分发至其他nginx服务器 [如果原有文件存在,则先备份] ; 只是在堡垒机环境下一个简单的推送文件脚本,比较简陋,代码如下: # -*- coding:utf-8 -*- #! /usr/b

7)SSH批量管理分发项目

ssh服务认证类型介绍 从SSH客户端来看,SSH服务主要提供两种级别的安全验证,具体级别如下: 基于口令的安全验证: 基于口令的安全验证的方式就是大家一直在用的,只要知道服务器的SSH连接账号和口令,应用服务器的IP及开放的端口,默认为22,就可以通过SSH客户端登录到这台远程主机.此时,联机过程中所有传输的数据都是加密的. 基于口令的我们可以通过expect,pssh,sshpass实现批量管理. 期中集群:一键搭建及优化50台服务器集群 基于密钥的安全验证: 基于密钥的安全验证方式是指,需

Python开发程序:简单主机批量管理工具

题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * author:lzl ### 博客地址: * http://www.cnblogs.com/lianzhilei/p/5881434.html ### 功能实现 题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密

简单主机批量管理工具

题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * author:lzl ### 博客地址: * http://www.cnblogs.com/lianzhilei/p/5881434.html ### 功能实现 题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密

python实现主机批量管理

在日常的运维工作中批量对主机的是很常见的,市面上也有许多主机批量管理的软件,但有时候这些软件并不能完全的满足我们的需求.python中刚好提供了关于主机批量管理的模块,今天就让我们来看看如何利用python实现主机批量管理 python提供主机批量管理的模块主要有三个paramiko.fabric与pexpect,今天我们主要说的是paramiko模块,paramiko模块是第三方模块 安装:pip install paramiko或者yum install python-paramiko如果都

【Python之旅】第六篇(七):开发简易主机批量管理工具

通过前面对Paramiko模块的学习与使用,以及Python中多线程与多进程的了解,依此,就可以开发简易的主机批量管理工具了. 显然批量管理主机时,程序如果能并发执行功能是最好的,因为这样可以最大程度地利用CPU的性能,因此这就需要使用Python多线程或者多进程,基于学习的需要,这里主要使用多进程来进行开发,当然,这会存在一定问题,后面会说. 主要内容如下: 1.主机批量管理工具功能 2.设计框架 3.实现:数据库信息与程序源代码 4.实战演示 5.程序的不足 6.在写程序过程中的经验教训 7

简单的主机批量管理

需求: 题目:简单主机批量管理工具 需求: 主机分组 主机信息配置文件用configparser解析 可批量执行命令.发送文件,结果实时返回,执行格式如下  batch_run  -h h1,h2,h3   -g web_clusters,db_servers    -cmd  "df -h" batch_scp   -h h1,h2,h3   -g web_clusters,db_servers  -action put  -local test.py  -remote /tmp/

批量管理工具,TriAquae!比较简单

首先,triaquae是基于ssh 的方式来对主机进行批量管理的,安装triaquae这边可以是图形,也可以不是图形! 然后triaquae访问必须要图形界面的支持!traquae是用python语言编写的,实现在大量主机推送文件,执行命令的一个过程! triaquae添加主机什么的也是比较方便的,因为是基于web的图形界面吗!比较简单!triaquae整体来讲操作命令的什么给回执的时间也不算 慢! 但是可能服务器太大量的话就不太合适了! 因为毕竟是基于ssh的! 如果服务器量太大的话,就根据需