Python Fabric模組介紹

2021-09-08 19:32:35 字數 1984 閱讀 8461

fabric官方文件:

fabric最新的版本為2.4.0, 主要依賴模組為invokeparamiko,安裝方式pip install fabric

>>> from fabric import connection

>>> c = connection('web1')

>>> result = c.run('uname -s')

linux

>>> result.stdout.strip() == 'linux'

true

>>> result.exited

0>>> result.ok

true

>>> result.command

'uname -s'

>>> result.connection

>>> result.connection.host

'web1'

>>> import getpass

>>> from fabric import connection, config

>>> sudo_pass = getpass.getpass("what's your sudo password?")

what's your sudo password?

>>> config = config(overrides=})

>>> c = connection('db1', config=config)

>>> c.sudo('whoami', hide='stderr')

root

>>> c.sudo('useradd mydbuser')

>>> c.run('id -u mydbuser')

1001

>>> from fabric import connection

>>> result = connection('web1').put('myfiles.tgz', remote='/opt/mydata/')

>>> print("uploaded to ".format(result))

uploaded /local/myfiles.tgz to /opt/mydata/

from fabric import serialgroup as group

def upload_and_unpack(c):

if c.run('test -f /opt/mydata/myfile', warn=true).failed:

c.put('myfiles.tgz', '/opt/mydata')

c.run('tar -c /opt/mydata -xzvf /opt/mydata/myfiles.tgz')

for connection in group('web1', 'web2', 'web3'):

upload_and_unpack(connection)

connection例項建立時並不會主動連線伺服器,而內部實現會在執行命令前嘗試連線,但需要時也可以自行選擇連線,密碼傳輸需要在connection中傳入connect_kwargs=

缺省會列印遠端終端的所有資訊,若需要選擇性列印資訊,需要在run傳入hide引數,這部分可以檢視invoke的文件說明。hide的可選引數如下:

hide = none  # default

hide = true or 'both' # 隱藏stdout和stderr流資訊

hide = 'out' or 'stdout' # 隱藏stdout流資訊

hide = 'err' or 'stderr' # 隱藏stderr流資訊

以上。

python Requests模組的簡要介紹

pip install requests import requests url response requests.get url 獲得請求 response.encoding utf 8 改變其編碼 html response.text 獲得網頁內容 binary content respons...

Python fabric遠端自動部署簡介

fabric是乙個python 2.5 2.7 庫,用於簡化使用ssh的應用程式部署或系統管理任務。它提供的操作包括 執行本地或遠端shell 本文主要介紹centos 6.3上使用fabric進行自動部署的基本方法。1.環境部署 本節主要介紹python版本公升級,pip及fabric部署方法。1...

Python Fabric遠端自動部署簡介

fabric是乙個python 2.5 2.7 庫,用於簡化使用ssh的應用程式部署或系統管理任務。本文主要介紹centos 6.3上使用fabric進行自動化部署的基本方法。本節主要介紹python版本公升級,pip及fabric安裝方法。centos 6.3自帶的python版本為2.6,首先需...