Python自动化运维工具fabric的安装
使用shell命令進(jìn)行復(fù)雜的運(yùn)維時(shí),代碼往往變得復(fù)雜難懂,而使用python腳本語言來編寫運(yùn)維程序,就相當(dāng)于開發(fā)普通的應(yīng)用一樣,所以維護(hù)和擴(kuò)展都比較簡(jiǎn)單,更重要的是python運(yùn)維工具fabric能自動(dòng)登錄其他服務(wù)器進(jìn)行各種操作,這種實(shí)現(xiàn)使用shell是很難做到的,但是使用fabric實(shí)現(xiàn)就很簡(jiǎn)單,所以對(duì)于程序員的日常運(yùn)維部署,建議使用python編寫腳本
Linux下默認(rèn)有python環(huán)境,安裝fabric有兩種方式一種是pip直接安裝,另外一種是下載fabric源碼,使用setuptools工具執(zhí)行setup.py安裝,兩種方式都需要聯(lián)網(wǎng),基本上差不多,這里使用pip進(jìn)行安裝,安裝的時(shí)候如果報(bào)錯(cuò),一般是因?yàn)閜ython-devel模塊沒有安裝,需要進(jìn)行安裝,可以提前使用?rpm -qa | grep python-devel?查看是否安裝python-devel,如果沒有安裝,使用yum安裝如下:
yum -y install python-develpip安裝之前說過,首先下載py文件:https://bootstrap.pypa.io/get-pip.py,上傳至服務(wù)器之后執(zhí)行:?python get-pip.py?安裝pip即可
使用pip安裝fabric:?pip install fabric?稍等一會(huì)就安裝完畢了,這時(shí)輸入?fab?就會(huì)彈出對(duì)應(yīng)的選項(xiàng)
接下來編寫一個(gè)簡(jiǎn)單的python腳本fabrictest.py來做測(cè)試:
1 #!/usr/bin/python 2 # -*- coding:utf-8 -*- 3 4 from fabric.api import * 5 6 # 設(shè)置服務(wù)器登錄參數(shù) 7 env.roledefs = { 8 # 操作一致的放一組,一組執(zhí)行同一個(gè)操作 9 'servers1':['root@linux2:22',], 10 # 第二組 11 'servers2':['root@linux3:22',] 12 } 13 14 # 本機(jī)操作 15 def localtask(): 16 local('/usr/local/nginx/nginx') 17 18 # servers1服務(wù)器組操作 19 @roles('servers1') 20 def task1(): 21 run('/usr/local/tomcat/bin/startup.sh') 22 23 # servers2 服務(wù)器組操作 24 @roles('servers2') 25 def task2(): 26 run('/usr/local/tomcat/bin/startup.sh') 27 28 # 執(zhí)行任務(wù) 29 def doworks(): 30 execute(localtask) 31 execute(task1) 32 execute(task2)以上代碼,就是簡(jiǎn)單的在本地啟動(dòng)nginx服務(wù)器,在linux1和linux2上啟動(dòng)了tomcat服務(wù)器,為了接受nginx服務(wù)器的代理,這里專門使用分組的方式為了適應(yīng)機(jī)器比較多的集群的需要,另外這里沒有設(shè)置服務(wù)器的密碼,一是為了服務(wù)器的安全;另外集群間建議設(shè)置ssh免密登錄,腳本就不用設(shè)置密碼了,方法doworks執(zhí)行的就是最終匯總的任務(wù),保存之后,開始執(zhí)行:
fab -f fabrictest.py doworks執(zhí)行之后,腳本會(huì)自動(dòng)的依次執(zhí)行指定的命令,從控制臺(tái)可以看到輸出,也可以在程序適當(dāng)位置添加輸出,打印一些必要信息
到這里,就看到fabric這個(gè)工具的功能確實(shí)很強(qiáng)大,更多的編程接口可以查看官網(wǎng)網(wǎng)站的文檔:http://www.fabfile.org/
離線安裝的話在fabfile官網(wǎng)有指向python官網(wǎng)的鏈接,地址是:https://pypi.python.org/pypi/Fabric,進(jìn)入頁面后可以看到很多版本的下載鏈接,首先保證安裝setuptools,下載之后解壓釋放,進(jìn)入目錄后執(zhí)行:?python setup.py install?安裝期間需要一些依賴,比如paramiko,如果系統(tǒng)沒有安裝,這時(shí)候會(huì)自動(dòng)聯(lián)網(wǎng)下載安裝,如果操作系統(tǒng)已經(jīng)有相應(yīng)的依賴,則直接離線安裝成功
?
總結(jié)
以上是生活随笔為你收集整理的Python自动化运维工具fabric的安装的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 孕妇梦到掉牙是什么预兆
- 下一篇: I00005 打印直角三角形字符图案