使用python-fabric進行遠程環境部署

使用fabric能夠經過ssh鏈接遠程終端,對終端進行操做,能夠進行遠程環境的部署,前提是遠程終端已安裝openssh-server,且ssh-server開啓

安裝fabric

fabric支持python2和python3,不過python3在安裝時,要安裝fabric3,雖然安裝fabric也能夠成功,可是用不了,會有報錯html

$pip install fabric    #python2
$pip3 install fabric3    #python3

使用方法

一、安裝後,手動建立一個fabfile.py的腳本文件
二、名稱不能變,必須是fabfile.py,不然運行時會報錯,找不到任何fabfile.py文件;固然若是非要命名成其餘文件也能夠,可是運行時要加參數-f filename
三、在終端中運行命令便可 (fab -h顯示幫助信息,能夠查看全部參數)python

經常使用的fabric.api

'abort'    終止執行
 'cd'     遠程終端切換到指定路徑
 'lcd'    本地終端切換到指定路徑   
 'env'    fabric環境變量,這是個dict
 'get'    從遠程終端下載文件到本地
 'put'    從本地上傳文件到遠程終端  
 'run'    執行遠程命令
 'local'    執行本地命令
 'sudo'    以sudo的權限執行命令

經常使用的就這幾個,其他的後期再去研究api

簡單的例子

在某路徑下建立一個fabfile.py的文件ssh

# -*- coding: utf-8 -*-
from fabric.api import *
env.hosts = ['10.4.66.87']
env.user = 'jkwang'
env.password = '20160418'
def mytest():
    run('ls -ll')
    with cd('testforfab'):
        run('echo "hello"> a')
        run('ls -la')

運行結果
svn


1: svn checkout命令:svn co url --username xxx --password xxx ./ 參考http://riaoo.com/subpages/svn_cmd_reference.html
2: 參考廖雪峯老師的博客,有更具體的例子:http://www.liaoxuefeng.com/article/001373892650475818672edc83c4c978a45195eab8dc753000url

相關文章
相關標籤/搜索