一、windows系统先安装
1、安装python3.5
2、安装paramiko
pip install paramiko
3、卸载cryptography==2.5
python -m pip uninstall cryptography==2.5
4、安装cryptography==2.4.2
python -m pip install cryptography==2.4.2
二、python脚本
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import paramiko
def ssh(sys_ip,username,password,cmds):
try:
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(sys_ip, 22, username=username, password=password, timeout=20)
#key_file = paramiko.RSAKey.from_private_key_file("/root/.ssh/id_rsa")
#ssh.connect(sys_ip, 22, username=username, pkey=key_file, timeout=20)
#stdin, stdout, stderr = client.exec_command(cmds[key])
stdin, stdout, stderr = client.exec_command(cmds)
result = stdout.readlines()
return result
except Exception as e:
print(e)
finally:
client.close()
if __name__=="__main__":
sys_ip = "10.12.4.132"
username = "root"
password = "v8ugU3l25fG4"
cmds = "/usr/bin/sh /home/shell_file/cabala_restart.sh"
ssh(sys_ip,username,password,cmds)
print("正常启动")
三、shell脚本
#!/bin/sh
kill -9 `ps -ef|grep apache-tomcat-server|grep -v grep|awk '{print $2}'`
kill -9 `ps -ef|grep -v grep|grep common-bus|awk '{print $2}'`
filePath=applicationContext.xml
serverPath=
busPath=
sleep 2
sed -i "s#`cat $filePath | grep -v \*|grep cronExpression|awk -F "=" '{print $3}'|awk '{print $5}'`#`date +%m`#g" $filePath
sed -i "s#`cat $filePath | grep -v \*|grep cronExpression|awk -F "=" '{print $3}'|awk '{print $4}'`#`date +%d`#g" $filePath
sed -i "s#`cat $filePath | grep -v \*|grep cronExpression|awk -F "=" '{print $3}'|awk '{print $3}'`#`date +%H`#g" $filePath
sed -i "s#`cat $filePath | grep -v \*|grep cronExpression|awk -F "=" '{print $3}'|awk '{print $2}'`#`date +%M`#g" $filePath
sleep 2
$serverPath/bin/startup.sh
sleep 10
$busPath/bin/startup.sh