Python 系统运维常用库

Python 系统运维常用库

1、psutil 是一个跨平台库 (http://code.google.com/p/psutil/)能够实现获取系统运行的进程和系统利用率 ( 内存,CPU, 磁盘,网络等),主要用于系统监控,分析和系统资源及进程的管理。

2、IPy(http://github.com/haypo/python-ipy),辅助 IP 规划。

3、dnspython(http://dnspython.org)Python 实现的一个 DNS 工具包。

4、difflib:difflib 作为 Python 的标准模块,无需安装,作用是对比文本之间的差异。

5、filecmp: 系统自带,可以实现文件,目录,遍历子目录的差异,对比功能。

6、smtplib:发送电子邮件模块。

7、pycurl(http://pycurl.sourceforge.net) 是一个用 C 语言写的 libcurl Python 实现,功能强大,支持的协议有:FTP,HTTP,HTTPS,TELNET 等,可以理解为 Linux 下 curl 命令功能的 Python 封装。

8、XlsxWriter: 操作 Excel 工作表的文字,数字,公式,图表等。

9、rrdtool: 用于跟踪对象的变化,生成这些变化的走走势图。

10、scapy(http://www.wecdev.org/projects/scapy/) 是一个强大的交互式数据包处理程序,它能够对数据包进行伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。

11、Clam Antivirus 免费开放源代码防毒软件,pyClamad, 可以让 Python 模块直接使用 ClamAV 病毒扫描守护进程 calmd。

12、pexpect: 可以理解成 Linux 下 expect 的 Python 封装,通过 pexpect 我们可以实现对 ssh,ftp,passwd,telnet 等命令行进行自动交互,而无需人工干涉来达到自动化的目的。

13、paramiko 是基于 Python 实现的 SSH2 远程安装连接,支持认证及密钥方式。可以实现远程命令执行,文件传输,中间 SSH 代理等功能。相对于 Pexpect, 封装的层次更高,更贴近 SSH 协议的功能,官网地址:http://paramiko.org(依赖:Crypto,Ecdsa,Python 开发包 python-devel)。

14、fabric 是基于 Python 实现的 SSH 命令行工具,简化了 SSH 的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程 shell 命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。Fabric 在 paramiko 的基础上做了更高一层的封装,操作起来更加简单。官网地址:http://www.fabfile.org(依赖 setuptools,Crypto,paramiko 包支持)。

15、CGIHTTPRequestHandler 实现对 CGI 的支持。

16、ansible(http://www.ansibleworks.com/) 一种集成 IT 系统的配置管理,应用部署,执行特定任务的开源平台。基于 Python 实现,由 Paramiko 和 PyYAML 两个关键模块构建。Ansibl 与 Saltstack 最大的区别是 Ansible 无需在被控主机上部署任何客户端,默认直接通过 SSH 通道进行远程命令执行或下发功能。

17、YAML:是一种用来表达数据序列的编程语言。

18、playbook:一个非常简单的配置管理和多主机部署系统。

19、saltstack(http://saltstack.com)是一个服务器基础架构集中化管理平台,一般可以理解为简化版的 puppet 和加强版的 func。Saltstack 基于 Python 语言实现,结合轻量级消息队列 ZeroMQ, 与 Python 每三方模块 (Pyzmq,PyCrypto,Pyjinja2,python-msgpack 和 PyYAML 等) 构建。

20、func 为解决集群管理,监控问题需设计开发的系统管理基础框架。