fabric2 沒有fabric.api

python三大神器之fabric(2.0新特性)

轉(zhuǎn)載地址

fabric經(jīng)常出現(xiàn)在自動(dòng)化運(yùn)維領(lǐng)域,批量處理一些運(yùn)維工作会前。fabric是在paramiko之上又封裝了一層,操作起來更加簡(jiǎn)單易用驶社。

本來只是想寫個(gè)博客記錄一下堵腹,然后發(fā)現(xiàn)之前寫的代碼不能運(yùn)行了,報(bào)以下錯(cuò)誤:

Traceback (most recent call last):
File "D:/PycharmProjects/TestTool/Publish/fabric_sample.py", line 3, in <module>
from fabric.api import * ModuleNotFoundError: No module named 'fabric.api'

然后百度了下俄周,說是2.0以上的fabric版本已經(jīng)移除了fabric.api吁讨,解決方法是指定安裝2.0以下的版本,比如pip install fabric==1.14.0 峦朗,但都并沒有介紹新的特性建丧。然后去官網(wǎng)看了下文檔,使用方法如下:

1.連接服務(wù)器

通過fabric.Connection方法連接服務(wù)器:

  conn = fabric.Connection(host , user = 'root',port = 22, config = None, geteway = None, connect_kwargs={"password": "123456"})

Connection參數(shù)的含義:

  def __init__(
    self,
    host, #主機(jī)ip
    user=None,                  #用戶名
    port=None,                  #ssh端口波势,默認(rèn)是22
    config=None,                #登錄配置文件
    gateway=None,               #連接網(wǎng)關(guān)
    forward_agent=None,         #是否開啟agent forwarding
    connect_timeout=None,       #設(shè)置超時(shí)
    connect_kwargs=None,        #設(shè)置 密碼登錄connect_kwargs={"password": "123456"}) 還是 密鑰登錄connect_kwargs={"key_filename": "/home/myuser/.ssh/private.key"}
    inline_ssh_env=None,      
    )

2.通過fabric安裝軟件

下面通過一段代碼實(shí)現(xiàn)在Ubuntu上批量安裝docker翎朱,順序取走列表中的ip。

import fabric 
def docker_install(): 
    for host in ['10.1.4.24', '10.1.15.154', '10.1.14.106']:
        conn = fabric.Connection(host , user = 'root', connect_kwargs={"password": "123456"}) 
        print("%s:" % host)
        conn.run("echo Y|apt-get remove docker.io")
docker_install()

是不是很簡(jiǎn)單尺铣,幾行代碼就解決了~

conn獲取Connetction對(duì)象后拴曲,有很多屬性方法可以使用,介紹下幾個(gè)常用的:

 cd: #切換遠(yuǎn)程目錄凛忿,如:cd('/root');   with conn.cd('/root'):繼承這個(gè)狀態(tài)
 put: #上傳本地文件到遠(yuǎn)程主機(jī)澈灼,如:put('/root/test.py','/root/test.py')
 get: #獲取服務(wù)器上文件,如:get('/root/project/test.log')
 sudo: #sudo方式執(zhí)行遠(yuǎn)程命令店溢,如:sudo('service docker start')

全部屬性:

['cd', 'clear', 'client', 'close', 'config', 'connect_kwargs', 'connect_timeout', 'create_session', 'cwd', 'derive_shorthand', 'forward_agent', 'forward_local', 'forward_remote', 'from_data', 'from_v1', 'gateway', 'get', 'get_gateway', 'host', 'is_connected', 'local', 'open', 'open_gateway', 'original_host', 'pop', 'popitem', 'port', 'prefix', 'put', 'resolve_connect_kwargs', 'run', 'setdefault', 'sftp', 'ssh_config', 'sudo', 'transport', 'update', 'user']

調(diào)用本地命令:

import invoke
invoke.run('uname -a')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叁熔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子逞怨,更是在濱河造成了極大的恐慌者疤,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叠赦,死亡現(xiàn)場(chǎng)離奇詭異驹马,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)除秀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門糯累,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人册踩,你說我怎么就攤上這事泳姐。” “怎么了暂吉?”我有些...
    開封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵胖秒,是天一觀的道長(zhǎng)缎患。 經(jīng)常有香客問我,道長(zhǎng)阎肝,這世上最難降的妖魔是什么挤渔? 我笑而不...
    開封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮风题,結(jié)果婚禮上判导,老公的妹妹穿的比我還像新娘。我一直安慰自己沛硅,他們只是感情好眼刃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著摇肌,像睡著了一般擂红。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朦蕴,一...
    開封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天篮条,我揣著相機(jī)與錄音弟头,去河邊找鬼吩抓。 笑死,一個(gè)胖子當(dāng)著我的面吹牛赴恨,可吹牛的內(nèi)容都是我干的疹娶。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼伦连,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼雨饺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起惑淳,我...
    開封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤额港,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后歧焦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體移斩,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年绢馍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了向瓷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舰涌,死狀恐怖猖任,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瓷耙,我是刑警寧澤朱躺,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布刁赖,位于F島的核電站,受9級(jí)特大地震影響长搀,放射性物質(zhì)發(fā)生泄漏乾闰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一盈滴、第九天 我趴在偏房一處隱蔽的房頂上張望涯肩。 院中可真熱鬧,春花似錦巢钓、人聲如沸病苗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硫朦。三九已至,卻和暖如春背镇,著一層夾襖步出監(jiān)牢的瞬間咬展,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工瞒斩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留破婆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓胸囱,卻偏偏與公主長(zhǎng)得像祷舀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烹笔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容