fabric是乙個python寫的運維工具。他使用python完全實現了ssh客戶端的協議。使得之前的伺服器部署,維護,獲得當前伺服器狀態等需要ssh上伺服器的工作,可以完全的自動化執行。這種工具對於我這種喜歡折騰的人來說,無疑是種解脫。
安裝完畢後,我們就要體驗一下fabric了。用你最喜歡的ide將下面**存成乙個叫做」fabfile.py」的檔案。**如下:
from fabric.api這段**的目的就是獲得遠端計算機上cpu的引數。並輸出出來。寫完**後,我們使用命令列輸入import *
@task
def printcpuinfo(
): cmd_output = run(
"cat /proc/cpuinfo"
)print cmd_output
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...