1、psutil是一個跨平臺庫(

https://

github。com/giampaolo/ps

util

能夠實現獲取系統執行的程序和系統利用率(記憶體,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封裝。(PS:PycURL在前幾天的文章裡有提及過)

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

9、rrdtool:用於跟蹤物件的變化,生成這些變化的走走勢圖

10、scapy(

http://www。

wecdev。org/projects/sca

py/

)是一個強大的互動式資料包處理程式,它能夠對資料包進行偽造或解包,包括髮送資料包,包嗅探,應答和反饋等功能。

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,為解決叢集管理,監控問題需設計開發的系統管理基礎框架。

小結

其實現在基於Python的運維工具和軟體也越來越多,例如Saltstack、Ansible等。作為運維人員,不僅要會用,更重要的是可以作為更加深入的瞭解,例如解讀原始碼等。這對建設運維平臺有很大的幫助,對自身的技術實力的提升也很有幫助。