管理远程系统和服务的工具
python-rrmngmnt的Python项目详细描述
python rrmngmnt
远程资源管理
简介
这个工具帮助你管理运行在上面的远程机器和服务。 它的目标是基于linux的机器。所有这些都是通过ssh连接完成的, 这意味着ssh服务器必须已经在那里运行了。
fromrrmngmntimportHost,RootUserh=Host("10.11.12.13")h.users.append(RootUser('123456'))exec=h.executor()printexec.run_cmd(['echo','Hello World'])
功能
为管理计算机上的资源而提供的接口列表,以及 例子。
文件系统
基本的文件操作,你可以找到python'os'模块的子集 与文件相关。
printh.fs.exists("/path/to/file")h.fs.chown("/path/to/file","root","root")h.fs.chmod("/path/to/file","644")h.fs.unlink("/path/to/file")
此外,还有从远程系统获取/放置文件的方法 到/从本地系统。
h.fs.get("/path/to/remote/file","/path/to/local/file/or/target/dir")h.fs.put("/path/to/local/file","/path/to/remote/file/or/target/dir")
有一种特殊的方法允许在主机之间传输文件。
h1.fs.transfer("/path/to/file/on/h1",h2,"/path/to/file/on/h2/or/target/dir",)
您也可以安装设备。
withh.fs.mount_point('//example.com/share',opts='ro,guest',fstype='cifs',target='/mnt/netdisk')asmp:h.fs.listdir(mp.target)# list mounted directorymp.remount('rw,sync,guest')# remount with different optionsh.fs.touch('%s/new_file'%mp.target)# touch file
防火墙
允许管理防火墙配置。检查哪个防火墙服务 在主机(firewalld/iptables)上运行并配置此服务。
h.firewall.is_active('iptables')h.firewall.chain('OUTPUT').list_rules()h.firewall.chain('OUTPUT').add_rule('1.1.1.1','DROP')
网络
它允许管理网络配置。
printh.network.hostnameh.network.hostname="my.machine.org"printh.network.all_interfaces()printh.network.list_bridges()
包管理
它封装了各种包管理。它能确定 使用哪个包管理。您仍然可以指定包管理 明确地。
实施管理:
- apt
- 百胜
- DNF
- 转速
# install htop package using implicit managementh.package_management.install('htop')# remove htop package using rpm explicitlyh.package_management('rpm').remove('htop')
系统服务
您可以切换系统服务,它封装了各种服务管理。 它能够确定在大多数情况下使用哪个服务管理。
实施管理:
- 系统d
- Sysvinit
- 初始控制
ifh.service('httpd').status():h.service('httpd').stop()ifh.service('httpd').is_enabled():h.service('httpd').disable()
操作系统信息
主机提供os属性,允许获取基本操作 系统信息。 注意os.release_info依赖于systemd init system。
printh.os.distribution# Distribution(distname='Fedora', version='23', id='Twenty Three')printh.os.release_info# {'HOME_URL': 'https://fedoraproject.org/',# 'ID': 'fedora',# 'NAME': 'Fedora',# 'PRETTY_NAME': 'Fedora 23 (Workstation Edition)',# 'VARIANT': 'Workstation Edition',# 'VARIANT_ID': 'workstation',# 'VERSION': '23 (Workstation Edition)',# 'VERSION_ID': '23',# ...# }printh.os.release_str# Fedora release 23 (Twenty Three)
存储管理
正在进行中。计划的是nfs&lvm服务。
电源管理
给你控制主机电源状态的可能性,你可以重启, 打开、关闭主机电源并获取主机电源状态。
实施管理:
- ssh
- IPMI
ipmi_user=User(pm_user,pm_password)ipmi_params={'pm_if_type':'lan','pm_address':'test-mgmt.testdomain','user':ipmi_user}h.add_power_manager(power_manager.IPMI_TYPE,**ipmi_params)# restart host via ipmitoolh.power_manager.restart()
需要
- 帕拉米科
- netaddr
- 六
安装
python setup.py devop
测试
tox