module04-2-简单主机批量管理工具

需求


1. 运行程序列出主机组或者主机列表2. 选择指定主机或主机组3. 选择让主机或者主机组执行命令或者向其传输文件(上传/下载)4. 充分使用多线程或多进程5. 不同主机的用户名密码、端口可以不同

目录结构


简单主机批量管理工具    ├ bin   # 执行文件目录    |   └ SBHM.py     # 执行程序     ├ conf  # 配置文件目录    |   ├ hosts.ini         # 配置文件。目前主要保存主机连接相关信息    |   └ init_conf.py      # 配置文件格式化程序    └ core  # 程序核心代码位置       └ main.py           # 主逻辑交互程序    

代码


import os,sys

basepath = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,basepath)

from core import main
main.main()

SBHM.py


import configparser

c = configparser.ConfigParser()

c[‘proxy‘]={
    ‘proxy1‘ : {
        ‘ip‘:‘192.168.1.76‘,
        ‘port‘:22,
        ‘username‘:‘root‘,
        ‘password‘:‘123456‘
    },
    ‘proxy2‘ : {
        ‘ip‘: ‘192.168.1.12‘,
        ‘port‘: 51123,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘proxy3‘: {
        ‘ip‘: ‘192.168.1.34‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    }
}

c[‘upstream‘] = {
    ‘img‘: {
        ‘ip‘: ‘192.168.1.76‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘video‘: {
        ‘ip‘: ‘192.168.1.12‘,
        ‘port‘: 51123,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘static‘: {
        ‘ip‘: ‘192.168.1.34‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    }
}

with open(‘hosts.ini‘,‘w‘,encoding=‘utf-8‘) as f:
    c.write(f)

init_conf.py

import configparser

c = configparser.ConfigParser()

c[‘proxy‘]={
    ‘proxy1‘ : {
        ‘ip‘:‘192.168.1.76‘,
        ‘port‘:22,
        ‘username‘:‘root‘,
        ‘password‘:‘123456‘
    },
    ‘proxy2‘ : {
        ‘ip‘: ‘192.168.1.12‘,
        ‘port‘: 51123,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘proxy3‘: {
        ‘ip‘: ‘192.168.1.34‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    }
}

c[‘upstream‘] = {
    ‘img‘: {
        ‘ip‘: ‘192.168.1.76‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘video‘: {
        ‘ip‘: ‘192.168.1.12‘,
        ‘port‘: 51123,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    },
    ‘static‘: {
        ‘ip‘: ‘192.168.1.34‘,
        ‘port‘: 22,
        ‘username‘: ‘root‘,
        ‘password‘: ‘123456‘
    }
}

with open(‘hosts.ini‘,‘w‘,encoding=‘utf-8‘) as f:
    c.write(f)

main.py

				
时间: 2025-01-01 22:54:52

module04-2-简单主机批量管理工具的相关文章

简单主机批量管理工具

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

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

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

python——简单主机批量管理工具

需求: 主机分组 主机信息配置文件用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/ 主机用户名密码.端口可以不同 执行远

python 简单主机批量管理工具

需求: 主机分组 主机信息配置文件用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/ 主机用户名密码.端口可以不同 执行远

【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的! 如果服务器量太大的话,就根据需

使用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 #测试,注意大小写 pyt

python实现主机批量管理

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