python3編寫自動化部署tomcat各版本腳本

#!/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)


分享到:


相關文章: