#!/usr/bin/python
import os,sys
import tarfile
import shutil
data_dir ='/alidata'
new_dir='/alidata/tomcat'
change_file='server.xml'
#定義安裝的檔案字典
files = {
"tomcat8" : {
"apache-tomcat-8.5.29.tar.gz" : "apache-tomcat-8.5.29"
},
"tomcat6" : {
"apache-tomcat-6.0.41.tar.gz" : "apache-tomcat-6.0.41"
}
}
#判斷data_dir目錄是否存在,如果不存在則建立
def exist_dir():
#判斷是否存在這個路徑,返回布林型別
dir=os.path.exists(data_dir)
if not dir:
#建立path路徑
os.makedirs(data_dir)
print('此目錄不存在,現在已經建立')
else:
print ('此目錄存在')
#部署tomcat應用在/alidata/tomcat下,並修改埠80
def deploy_app(tar_name,file_name):
#對壓縮包檔案進行解壓,解壓目錄在/alidata下
t=tarfile.open(tar_name)
ts=t.extractall(path=data_dir)
#對解壓出來的資料夾名稱更改為/alidata/tomcat
os.rename(data_dir+'/'+file_name,new_dir)
#切換目錄至/alidata/tomcat/conf配置tomcat引數下
os.chdir('/alidata/tomcat/conf')
#修改tomcat預設埠為80
os.system('sed -i "69s/8080/80/g" server.xml & sh ../bin/startup.sh > /dev/null')
if __name__ == '__main__':
#呼叫函式
exist_dir()
#建立python執行引數比如 python deploy_tomcat.py tomcat8 新增後面變數,sys.arg[1]代表執行python指令碼時,後面跟的引數
files_name=sys.argv[1]
for tar,file in files[files_name].items():
#呼叫deploy_app()函式
deploy_app(tar,file)