#!/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)
閱讀更多 運維李小木 的文章