python遠程批量執(zhí)行

    我并不是一個專業(yè)的開發(fā),我一直在學(xué)習(xí)linux運維,對于python也是接觸不久,所以代碼寫的并不是很規(guī)范簡潔。

    前段時間一個同學(xué)找我一起做一個自動化運維平臺,我對python的django還沒有了解,并且對于HTML和JS這類開發(fā)學(xué)習(xí)還沒有涉及,所以我說我做些后臺的實現(xiàn),前端就交給我的同學(xué)做。不扯淡了,下面說下我做批量執(zhí)行的思路。

  1. 用到的模塊:paramiko

  2. 功能:很簡單就是批量執(zhí)行命令,類似于ansible,本來想用Fabric,但是想一想還是用paramiko,因為我在學(xué)習(xí)ansible,ansible里面就有paramiko。后期還要將配置文件里面的主機組放到數(shù)據(jù)庫里面。這里我想使用的mongodb,因為我的主機配置文件寫的是字典的形式,保存在文檔數(shù)據(jù)庫中更為方便些。

  3. 配置文件格式:這里為了方便獲取信息,直接寫成了字典的形式,本來前期想用pickle模塊進行序列化輸入到文件中,但是后來發(fā)現(xiàn)如果主機要是多的話,手動輸入還是太麻煩了。

  4. 類:為了后期更好的添加功能,我直接將paramiko的SSHClient寫成了類。后面要添加上傳文本,下載等功能,這就用到了SFTP的功能。

  5. 函數(shù):這里面的函數(shù)就是對文件進行條件輸出,找到符合的主機組名稱。

  6. 講解下paramiko:paramiko模塊在我理解就是依賴ssh遠程的一個模塊。

    (1)、paramiko安裝方式:使用pip安裝即可。

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負責(zé)任的教育,學(xué)習(xí)改變命運,軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式