Python運維中20個經常使用的庫和模塊

一、psutil是一個跨平臺庫(https://github.com/giampaolo/psutil)python

可以實現獲取系統運行的進程和系統利用率(內存,CPU,磁盤,網絡等),主要用於系統監控,分析和系統資源及進程的管理。git

 

二、IPy(http://github.com/haypo/python-ipy),輔助IP規劃。github

 

三、dnspython(http://dnspython.org)Python實現的一個DNS工具包。shell

 

四、difflib:difflib做爲Python的標準模塊,無需安裝,做用是對比文本之間的差別。編程

 

五、filecmp:系統自帶,能夠實現文件,目錄,遍歷子目錄的差別,對比功能。服務器

 

六、smtplib:發送電子郵件模塊。網絡

 

七、pycurl(http://pycurl.sourceforge.net)是一個用C語言寫的libcurl Python實現,功能強大,支持的協議有:FTP,HTTP,HTTPS,TELNET等,能夠理解爲Linux下curl命令功能的Python封裝。(PS:PycURL在前幾天的文章裏有說起過)架構

 

八、XlsxWriter:操做Excel工做表的文字,數字,公式,圖表等。框架

 

九、rrdtool:用於跟蹤對象的變化,生成這些變化的走走勢圖。ssh

 

十、scapy(http://www.wecdev.org/projects/scapy/)是一個強大的交互式數據包處理程序,它可以對數據包進行僞造或解包,包括髮送數據包,包嗅探,應答和反饋等功能。

 

十一、Clam Antivirus免費開放源代碼防毒軟件,pyClamad,可讓Python模塊直接使用ClamAV病毒掃描守護進程calmd。

 

十二、pexpect:能夠理解成Linux下expect的Python封裝,經過pexpect咱們能夠實現對ssh,ftp,passwd,telnet等命令行進行自動交互,而無需人工干涉來達到自動化的目的。

 

1三、paramiko是基於Python實現的SSH2遠程安裝鏈接,支持認證及密鑰方式。能夠實現遠程命令執行,文件傳輸,中間SSH代理等功能。相對於Pexpect,封裝的層次更高,更貼近SSH協議的功能,官網地址:http://paramiko.org(依賴:Crypto,Ecdsa,Python開發包python-devel)

 

1四、fabric是基於Python實現的SSH命令行工具,簡化了SSH的應用程序部署及系統管理任務,它提供了系統基礎的操做組件,能夠實現本地或遠程shell命令,包括命令執行,文件上傳,下載及完整執行日誌輸出等功能。Fabric在paramiko的基礎上作了更高一層的封裝,操做起來更加簡單。

官網地址:http://www.fabfile.org(依賴setuptools,Crypto,paramiko包支持)。

 

1五、CGIHTTPRequestHandler實現對CGI的支持。

 

1六、ansible(http://www.ansibleworks.com/)一種集成IT系統的配置管理,應用部署,執行特定任務的開源平臺。基於Python實現,由Paramiko和PyYAML兩個關鍵模塊構建。Ansibl與Saltstack最大的區別是Ansible無需在被控主機上部署任何客戶端,默認直接經過SSH通道進行遠程命令執行或下發功能。

 

1七、YAML:是一種用來表達數據序列的編程語言。

 

1八、playbook:一個很是簡單的配置管理和多主機部署系統。

 

1九、saltstack(http://saltstack.com)是一個服務器基礎架構集中化管理平臺,通常能夠理解爲簡化版的puppet和增強版的func。Saltstack基於Python語言實現,結合輕量級消息隊列ZeroMQ,與Python每三方模塊(Pyzmq,PyCrypto,Pyjinja2,python-msgpack和PyYAML等)構建。

 

20、func,爲解決集羣管理,監控問題需設計開發的系統管理基礎框架。

 

更多精選文章,可掃描下方二維碼關注查看更多~

相關文章
相關標籤/搜索