python数据库操作对主机批量管理
import paramiko
import MySQLdb
conn = MySQLdb.connect(host='192.168.1.101',user='root',passwd='',db='host')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
reCout = cur.execute('select pass,users,ip,name from host,user WHERE `user`.name = "root" and `user`.id=`host`.id')
nRet = cur.fetchall()
conn.commit()
cur.close()
conn.close()
for i in nRet:
hosts = i['ip']
users = i ['users']
passs = i['pass']
print hosts,users,passs
transport = paramiko.Transport((hosts, 22))
transport.connect(username=users, password=passs)
ssh = paramiko.SSHClient()
ssh._transport = transport
stdin, stdout, stderr = ssh.exec_command('ls /root')
print stdout.read()
transport.close()
数据表

2.以组的方式批量管理
import paramiko
import MySQLdb
conn = MySQLdb.connect(host='192.168.1.101',user='root',passwd='',db='host')
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
reCout = cur.execute('select pass,users,ip,name from host,user WHERE `user`.name = "admin" and `user`.id=`host`.id')
nRet = cur.fetchall()
conn.commit()
cur.close()
conn.close()
for i in nRet:
hosts = i['ip']
#users = i ['users']
groups =i['name']
passs = i['pass']
print hosts,groups,passs
transport = paramiko.Transport((hosts, 22))
transport.connect(username=groups, password=passs)
ssh = paramiko.SSHClient()
ssh._transport = transport
stdin, stdout, stderr = ssh.exec_command('ls /home/')
print stdout.read()
transport.close()
数据结构
主机列表

组列表

组列表的id为主机列表id的外键
查询语句
select pass,users,ip,name from host,user WHERE `user`.name = "admin" and `user`.id=`host`.id
python数据库操作对主机批量管理的更多相关文章
- Python开发程序:简单主机批量管理工具
题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * au ...
- 【Python之旅】第六篇(七):开发简易主机批量管理工具
[Python之旅]第六篇(七):开发简易主机批量管理工具 python 软件开发 Paramiko模块 批量主机管理 摘要: 通过前面对Paramiko模块的学习与使用,以及Python中多线程与多 ...
- Python简单主机批量管理工具
一.程序介绍 需求: 简单主机批量管理工具 需求: 1.主机分组 2.主机信息使用配置文件 3.可批量执行命令.发送文件,结果实时返回 4.主机用户名密码.端口可以不同 5.执行远程命令使用param ...
- 简单主机批量管理工具(这里实现了paramiko 用su切换到root用户)
项目名:简单主机批量管理工具 一.需求 1.主机分组 2.可批量执行命令.发送文件,结果实时返回,执行格式如下 batch_run -h h1,h2,h3 -g web_clusters,db_ ...
- python/数据库操作补充—模板—Session
python/数据库操作补充—模板—Session 一.创建一个app目录 在models.py只能类进行进行创建表 class Foo: xx= 字段(数据库数据类型) 字段类型 字符串 Email ...
- python数据库操作 - MySQL入门【转】
python数据库操作 - MySQL入门 python学院 2017-02-05 16:22 PyMySQL是Python中操作MySQL的模块,和之前使用的MySQLdb模块基本功能一致,PyMy ...
- [ python ] 项目二:主机批量管理程序
开发要求: 1. 对主机进行批量管理 2. 可对单台或主机组批量执行命令 3. 可上传文件到对应的主机或组 4. 使用多线程实现 程序: 1. README # 作者:hkey # ...
- python数据库操作之pymysql模块和sqlalchemy模块(项目必备)
pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载安装 pip3 install pymysql 2.操作数据库 (1).执行sql #! ...
- python 数据库操作类
#安装PyMySQL:pip3 install PyMySQL #!/usr/bin/python3 #coding=utf-8 #数据库操作类 from datetime i ...
随机推荐
- SqlSugar ORM已经支持读写分离
目前只有MYSQL版 3.5.2.9 支持,其库版本12月3号更新该功能 用例讲解 using (var db = new SqlSugarClient("主连接字符串", &qu ...
- 20款jQuery 的音频和视频插件
分享 20 款jQuery的音频和视频插件 Blueimp Gallery: DEMO || DOWNLOAD Blueimp gallery 主要为移动设备而设计,同时也支持桌面浏览器.可定制视频和 ...
- Dapper一个轻量级的ORM库
相关阅读 http://stackexchange.github.io/dapper-dot-net/ https://github.com/StackExchange/dapper-dot-net ...
- C#基础知识二之this关键字
this关键字 引用类的当前实例,包括继承而来的方法,通常可以省略. public class Person { public string Name { get; set; } public int ...
- HTML5知识初级题目
在 HTML5 中,onblur 和 onfocus 是: 在 HTML5 中,哪个元素用于组合标题元素? HTML5 中不再支持下面哪个元素? HTML5 中不再支持下面哪个元素? HTML5 之前 ...
- 【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
适用于:.net2.0+ Winform项目 ------------------201508261813更新(源码有更新.Demo未更新)------------------ 重新绘制调整大小手柄( ...
- [WCF编程]3.WCF基础
一.服务 服务是一组公开功能的集合. 服务内部包含了如语言.技术.版本与框架等概念,服务之间的交互只允许使用规定的通信模式 外界客户端并不知道服务内部的实现细节,所以WCF服务通常通过元数据的方式描述 ...
- 一个简单的MVC实例及故障排除
Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...
- mybatis 中的where标签
mybatis中的where标签可以去除 开头的 and 或者 or 但是放在后面的不行 失败的: <select id="countNotesByParam" parame ...
- tet
施大峰[[昂司法部]]... [[分公司电饭煲]]