欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python3中詳解fabfile的編寫(xiě)

系統(tǒng) 1613 0

fab命令好似結(jié)合我們編寫(xiě)的fabfile.py(其它文件名必須添加-f filename應(yīng)用)來(lái)搭配使用的,部分命令行參數(shù)可以通過(guò)相應(yīng)的方法來(lái)替代,使之更加靈活,例如"-H 192.168.56.133,192.168.56.134",我們可以通過(guò)定義env.hosts來(lái)實(shí)現(xiàn),如"env.hosts=['192.168.56.133,192.168.56.134']"。fabfile的主體由多個(gè)自定義的任務(wù)函數(shù)組成,不同任務(wù)實(shí)現(xiàn)不同的操作邏輯。

全局屬性設(shè)定

env對(duì)象的作用是定義fabfile的全局設(shè)定,支持多個(gè)屬性,包含目標(biāo)主機(jī)、用戶名、密碼、等角色,各屬性說(shuō)明如下:

  • evn.host:定義目標(biāo)主機(jī),可以用IP或主機(jī)名表示,以Python的列表形式定義,如evn.hosts['192.168.56.133','192.168.56.134']。
  • env.exclude_hosts:排除指定主機(jī),如env.exclude_hosts=['192.168.56.133']。
  • env.user:定義用戶名,如env.user="root"。
  • env.port:定義目標(biāo)主機(jī)端口,默認(rèn)為22,如env.port="22"。
  • env.password:定義密碼,如env.password='1234567'。
  • env.passwords:與password功能一樣,區(qū)別在于不同主機(jī)不同密碼的應(yīng)用場(chǎng)景,需要注意的是,配置passwords是需配置用戶、主機(jī)、端口等信息,如:
            
env.passwords = {
  'root@192.168.56.131:22':'1234567',
  'root@192.168.56.132:22':'1234567',
  'root@192.168.56.133:22':'1234567',
  'root@192.168.56.134:22':'1234567'
}
          
  • env.gateway:定義網(wǎng)關(guān)(中轉(zhuǎn)、堡壘機(jī))IP,如env.gateway = '192.168.56.1'。
  • env.deploy_release_dir:自定義全局變量,格式:env.+"變量名稱",如env.deploy_release_dir、env.age、env.sex等。
  • env.roledefs:定義角色分組,比如web組與db組主機(jī)區(qū)分開(kāi)來(lái),定義如下:
            
env.roledefs = {
  'webservers':['192.168.56.131','192.168.56.132','192.168.56.133'],
  'dbserver':['192.168.56.134','192.168.56.135']
}
          

引用時(shí)使用Python修飾符的形式進(jìn)行,角色修飾符下面的任務(wù)函數(shù)為其作用域,下面來(lái)看一個(gè)示例:

            
@roles('webservers')
def webtask():
  run('/etc/init.d/nginx start')


@roles('dbservers')
def dbtask():
  run('/etc/init.d/mysql start')


@roles('webservers','dbservers')
def pubclitasj():
  run('uptime')

def deploy():
  execute(webtask)
  execute(dbtask)
  execute(pubclitask)
          

在命令執(zhí)行fab deploy就可以實(shí)現(xiàn)不同角色執(zhí)行不同的任務(wù)函數(shù)了。

常用API

Fabric提供了一組簡(jiǎn)單但功能強(qiáng)大的fabric.api命令集,簡(jiǎn)單地調(diào)用這些API就能完成大部分應(yīng)用場(chǎng)景需求。Fabric常用方法及說(shuō)明如下:

  • local:執(zhí)行本地命令,如:local('uname -s');
  • lcd:切換本地目錄,如:lcd('/home');
  • cd:切換遠(yuǎn)程目錄,如:cd('/data/logs');
  • run:執(zhí)行遠(yuǎn)程命令,如:run('free -m');
  • sudo:sudo方式執(zhí)行遠(yuǎn)程命令,如:sudo('/etc/init.d/httpd start');
  • put:上傳本地文件到遠(yuǎn)程主機(jī),如:put('/home/user.info','/data/user.info');
  • prompt:獲得用戶輸入信息,如:prompt('please input user password:');
  • confirm:獲得提示信息確認(rèn),如:confirm("Tests failed. Continue[Y/N]?");
  • reboot:重啟遠(yuǎn)程主機(jī),如:reboot();
  • @task:函數(shù)修飾符,標(biāo)識(shí)的函數(shù)為fab可調(diào)用的,非標(biāo)記對(duì)fab不可見(jiàn),純業(yè)務(wù)邏輯;
  • runs_once:函數(shù)修復(fù)符,標(biāo)識(shí)的函數(shù)只會(huì)執(zhí)行一次,不受多臺(tái)主機(jī)影響。

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲综合图片色婷婷另类小说 | 国产九九精品视频 | 2014亚洲天堂 | 黄网免费视频 | 高清性做爰免费无遮挡网站 | 日本无卡码免费一区二区三区 | 九色av | 亚洲精品国产成人 | 亚洲一级毛片中文字幕 | 哪里可以看免费的av | 欧美在线激情 | 精品网站999www | 欧美日韩三区 | 经典香港一级a毛片免费看 亚洲精品国产精品国自产观看 | 人人干人人干人人干 | 可以免费看的黄色片 | av大片| 中文二区| 国产精品冒白浆免费视频 | 91成人| 老司机福利在线视频 | 久久se精品一区精品二区 | 成人午夜精品 | 精品欧美一区二区三区四区 | 久久er精品 | 亚洲欧美无人区乱码 | 国产综合一区二区 | 91tv在线观看 | 久久99精品久久久久久综合 | 欧美成在线视频 | 91美女在线观看 | A片太大太长太深好爽A片视频 | 国产在线观看www鲁啊鲁免费 | 精品无码久久久久久国产 | 18pao成人国产永久视频 | 999久久久久久久久6666 | 欧洲视频在线观看 | 国产成人精品日本亚洲麻豆 | 欧美成人午夜剧场 | 亚洲资源在线播放 | 成人永久在线 |