批量執行命令:fabric
阿新 • • 發佈:2019-02-09
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用來執行命令 defgetHostname(): # 定義一個函數,用來獲取主機名 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