Python運維工具介紹1 fabric

2022-05-02 22:21:13 字數 1212 閱讀 2610

fabric是乙個python寫的運維工具。他使用python完全實現了ssh客戶端的協議。使得之前的伺服器部署,維護,獲得當前伺服器狀態等需要ssh上伺服器的工作,可以完全的自動化執行。這種工具對於我這種喜歡折騰的人來說,無疑是種解脫。

安裝完畢後,我們就要體驗一下fabric了。用你最喜歡的ide將下面**存成乙個叫做」fabfile.py」的檔案。**如下:

from fabric.api

import *

@task

def printcpuinfo(

):        cmd_output = run(

"cat /proc/cpuinfo"

)print cmd_output

這段**的目的就是獲得遠端計算機上cpu的引數。並輸出出來。寫完**後,我們使用命令列輸入fab printcpuinfo(一定要確定path中有個scripts哦)。就可以按照提示輸入登入host,密碼等等。

之前,在hello world中,我們並未配置需要登入的host,我們執行後,fabric會使用命令列互動獲得需要登入的host和密碼。但是,我們需要做的是自動化的去幹這件事情。應該如何將登陸自動化呢?

使用命令列引數 

在呼叫fabric的時候,我們可以使用命令列引數-h確定這個命令需要在哪台主機,或者哪些臺主機上執行。示例如下:

fab -h user1@host1,user2@host2 printcpuinfo

這樣便可以自動化的在多台計算機上執行printcpuinfo命令。

在fabfile中配置host 

我們可以在fabfile中,定義tast之前,加入如下**,來配置要登入的host。

env.password

="password"

env.hosts=[

"a@host1"

,"b@host2"

]

這樣,使用fab printcpuinfo的時候,便可以自動登入到遠端計算機了而不需要輸入密碼了。

在fabric中,不僅僅支援我們上面用到的run命令,同時還有如下命令:

fabric使用了極其原始和簡單的api與遠端計算機進行互動。這注定了其易用性,和可擴充套件性。。但是僅僅有fabric對於很多事情都是很困難的,例如跨作業系統的操作(ubuntu/centos)等。可能會在之後某篇文章中做一介紹。

自動化運維工具 ansible介紹

1.什麼是 ansible ansible是一款開源的自動化平台,是乙個配置管理工具,是自動化運維工具,它是基於python開發的,作為運維工具,它集合了眾多運維工具 puppet cfengine chef func fabric 的優點,並且可以實現對批量系統的配置 批量程式的部署 同時可以批量...

運維基礎工具tmux介紹及使用

一 tmux是幹什麼的?說白了就是復用軟體,復用的什麼軟體呢?你可以理解成復用shell。另乙個作用就是,比如說你通過ssh連線到遠端的伺服器,正在scp乙個很大的檔案,但是傳了一般,電腦掉電了,這是後怎麼辦?你只能重新傳輸,但是tmux就不需要,你可 以通過tmux找到剛才的會話繼續執行。下圖1是...

Ansible(自動化運維工具 介紹)

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible...