pythonスクリプトによるwindowsアップロード導入tomcatの実現
@pythonスクリプトによるwindowsアップロード導入tomcatの実現
pythonスクリプトによるwindowsアップロード導入tomcatの実現
最初のレコードは、主にpythonスクリプトを使用してwindowsからファイルをコピーしてアップロードし、tomcatを再起動してparamiko osの2つのライブラリを使用します.
ファイルアップロードモジュール
直接コードをつけてまずwindowsのファイルを手に入れて、それからこのファイルを遍歴して相対的な経路に取ってLinuxサーバーの上のアドレスの上書きファイルに置き換えます
モジュールの再起動
SSHClientモジュールでサーバ上のtomcatを再起動できる点注意したいのは、再起動コマンドを実行するときにプロファイルsource/etc/profileを先に読み込む必要があることです.そうしないと、再起動コマンドが間違っています.
pythonスクリプトによるwindowsアップロード導入tomcatの実現
最初のレコードは、主にpythonスクリプトを使用してwindowsからファイルをコピーしてアップロードし、tomcatを再起動してparamiko osの2つのライブラリを使用します.
ファイルアップロードモジュール
直接コードをつけてまずwindowsのファイルを手に入れて、それからこのファイルを遍歴して相対的な経路に取ってLinuxサーバーの上のアドレスの上書きファイルに置き換えます
def upload(hosId,port):
try:
t = paramiko.Transport((hosId, port))
t.connect(username='root', password='123456')
sftp = paramiko.SFTPClient.from_transport(t)
print(' %s ' % datetime.datetime.now())
try:
for root,dirs,files in os.walk(winStr+'\\***'):
for file in files:
abs_path = os.path.join(root,file)
real_path = abs_path.split(winStr)[1]
print(real_path.replace('\\','/'))
print(' ')
print('/opt/xvdb/tomcat_ite/webapps'+real_path)
sftp.put(os.path.join(root,file), '/opt/xvdb/tomcat_ite/webapps'+real_path.replace('\\','/'))
except Exception as e:
print(' %s ' % datetime.datetime.now())
print(' %s ' % datetime.datetime.now())
t.close()
except Exception as e:
print(repr(e))
モジュールの再起動
SSHClientモジュールでサーバ上のtomcatを再起動できる点注意したいのは、再起動コマンドを実行するときにプロファイルsource/etc/profileを先に読み込む必要があることです.そうしないと、再起動コマンドが間違っています.
stdin, stdout, stderr = ssh.exec_command('source /etc/profile;/opt/xvdb/tomcat_ite/bin/startup.sh')
def restart(hosId,port):
#
4 # SSH
ssh = paramiko.SSHClient()
# know_hosts
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
#
ssh.connect(hostname= hosId, port= port, username='root', password='123456')
#
stdin, stdout, stderr = ssh.exec_command('cd /opt/xvdb/tomcat_ite/bin')
#
stdin, stdout, stderr = ssh.exec_command('pwd')
result = stdout.read()
#
stdin, stdout, stderr = ssh.exec_command('ps -ef | grep tomcat_ite')
result = stdout.read()
# jdk
kid_list = getkid(result)
print(kid_list)
#
if len(kid_list) !=0:
ssh.exec_command('kill -9 %s' %str(kid_list[1]))
#
if len(kid_list) !=0:
stdin, stdout, stderr = ssh.exec_command('source /etc/profile;/opt/xvdb/tomcat_ite/bin/startup.sh')
result=stdout.readlines()
print(result)
print (' ')
#
ssh.close()
#
def getkid(result):
session_str = str(result,encoding='utf-8')
session = session_str.split('
')
print(session)
# kid
kid_list = []
for i in session:
if i.count('jdk')>0:
kid_str = i.split(' ')
for j in kid_str :
if j != '':
kid_list.append(j)
print(kid_list)
return kid_list