python遠程批量執(zhí)行
我并不是一個專業(yè)的開發(fā),我一直在學(xué)習(xí)linux運維,對于python也是接觸不久,所以代碼寫的并不是很規(guī)范簡潔。
前段時間一個同學(xué)找我一起做一個自動化運維平臺,我對python的django還沒有了解,并且對于HTML和JS這類開發(fā)學(xué)習(xí)還沒有涉及,所以我說我做些后臺的實現(xiàn),前端就交給我的同學(xué)做。不扯淡了,下面說下我做批量執(zhí)行的思路。
用到的模塊:paramiko
功能:很簡單就是批量執(zhí)行命令,類似于ansible,本來想用Fabric,但是想一想還是用paramiko,因為我在學(xué)習(xí)ansible,ansible里面就有paramiko。后期還要將配置文件里面的主機組放到數(shù)據(jù)庫里面。這里我想使用的mongodb,因為我的主機配置文件寫的是字典的形式,保存在文檔數(shù)據(jù)庫中更為方便些。
配置文件格式:這里為了方便獲取信息,直接寫成了字典的形式,本來前期想用pickle模塊進行序列化輸入到文件中,但是后來發(fā)現(xiàn)如果主機要是多的話,手動輸入還是太麻煩了。
類:為了后期更好的添加功能,我直接將paramiko的SSHClient寫成了類。后面要添加上傳文本,下載等功能,這就用到了SFTP的功能。
函數(shù):這里面的函數(shù)就是對文件進行條件輸出,找到符合的主機組名稱。
講解下paramiko:paramiko模塊在我理解就是依賴ssh遠程的一個模塊。
(1)、paramiko安裝方式:使用pip安裝即可。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26