自動化部署指令碼

2021-08-10 06:22:03 字數 3490 閱讀 9022

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import

sys, os  

import

subprocess  

import

re  

import

shlex  

import

time  

filename = sys.argv[0

]  absdir = os.path.abspath(os.path.dirname(__file__))  

dict =   

# copytoserver執行遠端拷貝,將sql檔案拷貝至35的/root/test目錄並執行、war檔案拷貝至dict字典所指定的目錄,

defcopytoserver():  

filelist = [i for

i in

os.listdir(absdir) 

ifi.endswith(

'sql'

) or

i.endswith(

'war'

)]  

try:  

fors 

infilelist:  

ifs.endswith(

'war'

):  

fork, v 

indict.items():  

print

%(s,k,v)  

command_line1 = ['ssh'

, 'root@'

+k, 

'rm -rf '

, v+

+'/bankriskcontrol'

]  command_line2 = ['scp'

, s, 

'root@'

+k+':'

+v]  

p1 = subprocess.popen(command_line1)  

p1.wait()  

p2 = subprocess.popen(command_line2)  

p2.wait()  

print

"\n\n"

else

:  print

"\n\n拷貝%s到192.168.0.35的/root/test目錄......"

%s  

command_line3 = ['scp'

, s, 

'[email protected]:/root/test'

]  p3 = subprocess.popen(command_line3)  

p3.wait()  

except

ioerror, e:  

print

e  #changedb執行sql指令碼

defchangedb():  

sql = ['create_database.sql'

, 'init_database_data.sql'

, 'addtestdata.sql'

]  #    path = '/usr/local/mysql/bin/'

try:  

print

"\n\n建立資料庫......\n\n"

cmd1 = ['ssh'

, '[email protected]'

, 'mysql'

, '-uroot'

, '-p111111'

, '<'

, '/root/test/'

+sql[

0]]  

p1 = subprocess.popen(cmd1)  

p1.wait()  

print

"\n\n初始化資料庫......\n\n"

cmd2 = ['ssh'

, '[email protected]'

, 'mysql'

, '-uroot'

, '-p111111'

, '-dbank_risk_control'

, '<'

, '/root/test/'

+sql[

1]]  

p2 = subprocess.popen(cmd2)  

p2.wait()  

print

"\n\n新增測試資料......\n\n"

cmd3 = ['ssh'

, '[email protected]'

, 'mysql'

, '-uroot'

, '-p111111'

, '-dbank_risk_control'

, '<'

, '/root/test/'

+sql[

2]]  

p3 = subprocess.popen(cmd3)  

p3.wait()  

except

ioerror, e:  

print

e  #管理遠端tomcat伺服器

defrestart_tomcat():  

try:  

fork, v 

indict.items():  

command_line4 = ['ssh'

, 'root@'

+k, v+

'/bin/shutdown.sh'

]  command_line5 = ['ssh'

, 'root@'

+k, v+

'/bin/startup.sh'

]  print

"\n\n%s的tomcat服務正在重啟.........\n\n"

%k  

p1 = subprocess.popen(command_line4)  

p1.wait()  

p2 = subprocess.popen(command_line5)  

p2.wait()  

print

"\n\n*********************************************"

except

ioerror, e:  

print

e  if

__name__ == 

'__main__'

:  print

'\033[1;31;40m'

print

'*'*

40, 

'\n'

copytoserver()  

print

'\033[1;31;40m'

print

'*'*

40, 

'\n'

changedb()  

print

'\033[1;31;40m'

print

'*'*

40, 

'\n'

restart_tomcat()  

部署python自動化指令碼 搭建自動化指令碼執行環境

年前把平台的指令碼寫好了,準備在虛擬機器中全部執行一遍。沒想到在虛擬機器中配置了很長時間,才把環境搭好。為了不再犯這配置環境的苦,在這簡單說說環境的搭建吧。因為寫的指令碼是在win7上實現的,所以虛擬機器我安裝的也是win7系統。1 安裝python 2 配置環境變數 python安裝成功後,將安裝...

shell指令碼 自動化部署lnmp

root localhost shell vim lnmp.sh bin bash yum y install httpd 安裝http yum y install mariadb mariadb devel mariadb server 安裝資料庫 yum y install php php my...

IIS指令碼自動化部署方式

跳到iis命令工具所在目錄下 cd c windows system32 inetsrv 刪除指定web站點 刪除指定應用程式池 新增應用程式池 修改應用程式池啟動模式 修改應用程式池標示 設定固定時間間隔 應用程式池 設定指定時間 應用程式池 關閉快速故障防護功能 新增web站點 繫結埠訪問方式 ...