1. 程式人生 > >Python 在運維中要掌握的 20個技能

Python 在運維中要掌握的 20個技能

1、psutil是一個跨平臺庫(https://github.com/giampaolo/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,為解決叢集管理,監控問題需設計開發的系統管理基礎框架。

1 2 3 6 10 13 14 16 18