久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

在Linux上如何安裝 Fabric

160次閱讀
沒有評論

共計 3647 個字符,預計需要花費 10 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章主要介紹在 Linux 上如何安裝 Fabric,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

Fabric 是一個用 Python 編寫的命令行工具庫,它可以幫助系統管理員高效地執行某些任務,比如通過 SSH   到多臺機器上執行某些命令,遠程布署應用等。

在使用之前,如果你擁有使用 Python 的經驗能幫你更好的使用 Fabric。當然,如果沒有那也不影響使用 Fabric。

我們為什么要選擇 Fabric:

簡單

完備的文檔

如果你會 Python,不用增加學習其他語言的成本

易于安裝使用

使用便捷

支持多臺機器并行操作

在 Linux 上如何安裝 Fabric

Fabric 有一個特點就是要遠程操作的機器只需要支持標準的 OpenSSH 服務即可。只要保證在機器上安裝并開啟了這個服務就能使用 Fabric   來管理機器。

依賴

Python 2.5 或更新版本,以及對應的開發組件

Python-setuptools 和 pip(可選,但是非常推薦)gcc

我們推薦使用 pip 安裝 Fabric,但是你也可以使用系統自帶的包管理器如 yum, dnf 或 apt-get 來安裝,包名一般是 fabric 或  python-fabric。

如果是基于 RHEL/CentOS 的發行版本的系統,你可以使用系統自帶的 EPEL 源 來安裝 fabric。

# yum install fabric [適用于基于  RedHat  系統] # dnf install fabric [適用于  Fedora 22+  版本]

如果你是 Debian 或者其派生的系統如 Ubuntu 和 Mint 的用戶,你可以使用 apt-get 來安裝,如下所示:

# apt-get install fabric

如果你要安裝開發版的 Fabric,你需要安裝 pip 來安裝 master 分支上 *** 版本。

# yum install python-pip [適用于基于  RedHat  系統] # dnf install python-pip [適用于 Fedora 22+  版本] # apt-get install python-pip [適用于基于  Debian  系統]

安裝好 pip 后,你可以使用 pip 獲取 *** 版本的 Fabric。

# pip install fabric

如何使用 Fabric 來自動化管理 Linux 任務

現在我們來開始使用 Fabric,在之前的安裝的過程中,Fabric Python 腳本已經被放到我們的系統目錄,當我們要運行 Fabric 時輸入  fab 命令即可。

在本地 Linux 機器上運行命令行

按照慣例,先用你喜歡的編輯器創建一個名為 fabfile.py 的 Python   腳本。你可以使用其他名字來命名腳本,但是就需要指定這個腳本的路徑,如下所示:

# fabric --fabfile /path/to/the/file.py

Fabric 使用 fabfile.py 來執行任務,這個文件應該放在你執行 Fabric 命令的目錄里面。

例子 1:創建入門的 Hello World 任務:

# vi fabfile.py

在文件內輸入如下內容:

def hello(): print( Hello world, Tecmint community)

保存文件并執行以下命令:

# fab hello

Fabric 工具使用說明

例子 2:新建一個名為 fabfile.py 的文件并打開:

粘貼以下代碼至文件:

#! /usr/bin/env python from fabric.api import local def uptime(): local( uptime)

保存文件并執行以下命令:

# fab uptime

Fabric: 檢查系統運行時間

讓我們看看這個例子,fabfile.py 文件在本機執行了 uptime 這個命令。

在遠程 Linux 機器上運行命令來執行自動化任務

Fabric API 使用了一個名為 env 的關聯數組 (Python 中的詞典) 作為配置目錄,來儲存 Fabric 要控制的機器的相關信息。

env.hosts 是一個用來存儲你要執行 Fabric 任務的機器的列表,如果你的 IP 地址是 192.168.0.0,想要用 Fabric   來管理地址為 192.168.0.2 和 192.168.0.6 的機器,需要的配置如下所示:

#!/usr/bin/env python from fabric.api import env env.hosts = [  192.168.0.2 ,  192.168.0.6  ]

上面這幾行代碼只是聲明了你要執行 Fabric 任務的主機地址,但是實際上并沒有執行任何任務,下面我們就來定義一些任務。Fabric   提供了一系列可以與遠程服務器交互的方法。

Fabric 提供了眾多的方法,這里列出幾個經常會用到的:

run – 可以在遠程機器上運行的 shell 命令

local – 可以在本機上運行的 shell 命令

sudo – 使用 root 權限在遠程機器上運行的 shell 命令

get – 從遠程機器上下載一個或多個文件

put – 上傳一個或多個文件到遠程機器

例子 3:在多臺機子上輸出信息,新建新的 fabfile.py 文件如下所示

#!/usr/bin/env python from fabric.api import env, run env.hosts = [192.168.0.2 , 192.168.0.6] def echo(): run( echo -n  Hello, you are tuned to Tecmint   )

運行以下命令執行 Fabric 任務

# fab echo

fabric: 自動在遠程 Linux 機器上執行任務

例子 4:你可以繼續改進之前創建的執行 uptime 任務的 fabfile.py   文件,讓它可以在多臺服務器上運行 uptime 命令,也可以檢查其磁盤使用情況,如下所示:

#!/usr/bin/env pythonfrom fabric.api import env, runenv.hosts = [192.168.0.2 , 192.168.0.6]def uptime(): run( uptime)def disk_space(): run( df -h)

保存并執行以下命令

# fab uptime# fab disk_space

Fabric:自動在多臺服務器上執行任務

在遠程服務器上自動化布署 LAMP

例子 5:我們來嘗試一下在遠程服務器上布署 LAMP(Linux, Apache, MySQL/MariaDB and PHP)

我們要寫個函數在遠程使用 root 權限安裝 LAMP。

在 RHEL/CentOS 或 Fedora 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = [192.168.0.2 , 192.168.0.6] def deploy_lamp(): run ( yum install -y httpd mariadb-server php php-mysql)

在 Debian/Ubuntu 或 Linux Mint 上

#!/usr/bin/env python from fabric.api import env, run env.hosts = [192.168.0.2 , 192.168.0.6] def deploy_lamp(): sudo( apt-get install -q apache2 mysql-server libapache2-mod-php5 php5-mysql)

保存并執行以下命令:

# fab deploy_lamp

注:由于安裝時會輸出大量信息,這個例子我們就不提供屏幕 gif 圖了

現在你可以使用 Fabric 和上文例子所示的功能來自動化的管理 Linux 服務器上的任務了。

一些 Fabric 有用的選項

你可以運行 fab -help 輸出幫助信息,里面列出了所有可以使用的命令行信息

ndash;fabfile=PATH 選項可以讓你定義除了名為 fabfile.py 之外的模塊

如果你想用指定的用戶名登錄遠程主機,請使用 -user=USER 選項

如果你需要密碼進行驗證或者 sudo 提權,請使用 ndash;password=PASSWORD 選項

如果需要輸出某個命令的詳細信息,請使用 ndash;display= 命令名 選項

使用 –list 輸出所有可用的任務

使用 –list-format=FORMAT 選項能格式化 -list 選項輸出的信息,可選的有 short、normal、nested

–config=PATH 選項可以指定讀取配置文件的地址

– ndash;colorize-errors 能顯示彩色的錯誤輸出信息

–version 輸出當前版本

以上是“在 Linux 上如何安裝 Fabric”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2024-02-04發表,共計3647字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 乌拉特中旗| 竹山县| 琼中| 高阳县| 承德县| 紫阳县| 晋江市| 大名县| 平潭县| 上蔡县| 巴彦淖尔市| 米易县| 无为县| 尚志市| 开远市| 麻江县| 宝应县| 阿鲁科尔沁旗| 宜都市| 淮南市| 台江县| 张北县| 宁武县| 镇安县| 依安县| 榆社县| 蕲春县| 辰溪县| 大渡口区| 阿鲁科尔沁旗| 永新县| 蒙阴县| 鹤山市| 大英县| 开封县| 常山县| 改则县| 怀安县| 阿坝县| 罗城| 怀集县|