python脚本分发bash升级包案例--参考
2014-10-15 10:30
435 查看
#!/usr/bin/env python #encoding:utf-8 #paramiko import paramiko import sys,os import threading import multiprocessing import time iplist = {'192.168.1.10':'123456','192.168.2.10':'321456','192.168.13.10':'111111'} user = 'root' host = '' password = '' bit = '' pakg = '' s = paramiko.SSHClient() s.load_system_host_keys() s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) number = 0 def ssh_install(): cmd = 'rpm -Uvh /tmp/shell_update.rpm' s.connect(host,22,user,password,timeout=1) stdin,stdout,stderr = s.exec_command(cmd) cmd_result = stdout.read(),stderr.read() print '======%s--%sbit======' %(host,bit) for line in cmd_result: print line, print '' s.close() def ssh_bit(): global bit cmd = 'getconf LONG_BIT' s.connect(host,22,user,password,timeout=1) stdin,stdout,stderr = s.exec_command(cmd) cmd_result = stdout.read(),stderr.read() bit = int(str(cmd_result[0]).strip()) s.close() def ssh_copy(): global pakg t = paramiko.Transport((host,22)) t.connect(username=user,password=password) sftp = paramiko.SFTPClient.from_transport(t) sftp.put(pakg,'/tmp/shell_update.rpm' ) t.close() def run(ipinfo): global pakg global host global password global bit host = ipinfo[0] password = ipinfo[1] ssh_bit() if bit == 64: pakg = '/tmp/bash-3.2-33.el5_11.4.x86_64.rpm' ssh_copy() ssh_install() elif bit == 32: pakg = '/tmp/bash-3.2-33.el5_11.4.i386.rpm' ssh_copy() ssh_install() if len(iplist.items()) < 10: process_number = len(iplist.items()) else: process_number = 10 pool = multiprocessing.Pool(processes=process_number) for info in iplist.items(): pool.apply_async(run,(info,)) pool.close() pool.join()
相关文章推荐
- 一个简单的 python 实现 图片同步脚本 ,对于有图片群集的项目有参考价值
- 通用权限管理系统的数据库 V2.0 版本升级到 V3.1 版本的数据库变动说明,升级脚本参考
- 在线升级FlashPlayer和GoogleChrome的bash脚本
- 马哥2016全新Linux+Python高端运维班-Linux vim 末行模式,sed命令,基本bash脚本
- bash 脚本参数案例总结
- Bash下如何执行python脚本文件
- 马哥2016全新Linux+Python高端运维班-Linux 网络基础管理,包管理,bash脚本练习
- bash计时器的实现案例:检查并记录网络稳定性的脚本 推荐
- python脚本在命令行中传递参数(附字符查找小案例)
- 利用python实现批量自动化运维脚本案例
- Oracle快速创建定时job执行批量转储过程脚本参考案例
- python 捕获 shell/bash 脚本的输出结果
- 用 Python 替代 Bash 脚本(转)
- 一个很好的python代理脚本(给sqlmapapi发送请求的玩意),函数可以参考拿着用呗
- CentOS 6.x系统升级Python到2.7版本的Shell脚本分享
- 一键升级python至2.6.5的脚本
- 【脚本语言对比】BASH,PERL以及PYTHON
- python 学习类的脚本--参考
- 升级Python版本脚本
- 马哥2016全新Linux+Python高端运维班-Linux bash脚本练习,及软RAID,LVM逻辑卷管理