1. 程式人生 > >批量執行命令:fabric

批量執行命令:fabric

paramik 函數 api main 使用 hostname bsp crypt 主機名

Fabric 可以通過 SSH 在多臺客戶端主機上批量執行任務,是基於 paramiko 封裝開發的,paramiko 更底層一些,安裝方法如下:

[root@localhost ~]$ yum install -y python-devel     # 先安裝 python 開發包
[root@localhost ~]$ pip install pycrypto==2.3       # 安裝 paramiko 的依賴包,paramiko 使用 ssh 登錄需要用到 pycrypto 來提供加密算法,保證 ssh 安全性
[root@localhost ~]$ pip install paramiko==1.12.4    #
安裝 Fabric 的依賴包,Fabric 是基於 paramiko 封裝的 [root@localhost ~]$ pip install fabric==1.8.3 # 最後安裝 Fabric,安裝之後會提供 fab 命令,也會提供很多 Fabric 的 API


Fabric 簡單用法:

[root@localhost ~]$ cat fabfile.py     # 需要定義一個fabfile.py文件,文件名是固定的

from fabric.api import run # 使用Fabric提供的API,run用來執行命令 def
getHostname(): # 定義一個函數,用來獲取主機名 run(hostname)
[root@localhost ~]$ fab -H 192.168.216.130 getHostname    # 通過 fab 命令來調用 fabfile.py 文件
[192.168.216.130] Executing task getHostname            # -H 192.168.216.130 用於指定對哪個遠程主機進行操作
[192.168.216.130] run: hostname                           #
getHostname 表示執行 fabfile.py 文件裏的哪個函數 [192.168.216.130] out: localhost.localdomain # 註意:使用 Fabric 的前提是保證 ssh 可以通過密鑰登錄 [192.168.216.130] out: Done. Disconnecting from 192.168.216.130... done.


Fabric 常用 API:

fab 命令:

批量執行命令:fabric