linux 测试环境启用jar_Linux测试环境一键重启脚本

环境:Python3.6.5  Pycharm

备注:python连接远程机,需要借助paramiko库,因此此脚本主要为paramiko的使用#!/usr/bin/env python

//定义这是一个python脚本

#coding:utf8

//定义编码方式

import paramiko

//导入paramiko库ssh = paramiko.SSHClient()

//定义ssh为SSH的客户端

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname='IP地址', port='端口号', username='用户名', password='用户名密码')

stdin, stdout, stderr = ssh.exec_command("要执行的linux命令")

print(stdout.read())

//打印输出的结果

ssh.close()

//关闭连接

需要注意的是,执行linux命令时,单条与多条的使用方法不一致stdin, stdout, stderr = ssh.exec_command("要执行的linux命令") -------单条

stdin, stdout, stderr = ssh.exec_command("多条Linux命令,每条命令直接用;分隔",get_pty=False)-----多条

而常使用的Linux命令如下:1、ps -ef | grep 服务 | grep -v grep | awk '{print $2}'|xargs kill -9

//找到要重启的服务并kill掉之前的进程

2、cd /root/env/tomcat-biz/bin;./startup.sh

//tomcat的启动方式

3、nohup java -jar jar包名.jar >run.log 2>&1 &

//jar包的启动方式

使用中遇到的问题:1、nohup无法调起jar包

解决方式:使用nohup命令前,重启一下配置文件. /etc/profile

2、脚本运行完成后,部分模块报错

解决方式:部分服务需要优先启动,因此启动后,需要sleep一段时间,因此需要导入time模块

完整代码如下:#!/usr/bin/env python

#coding:utf8

import paramiko

import timedef redis():

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(hostname='IP地址', port='端口号', username='用户名', password='用户密码')

stdin, stdout, stderr = ssh.exec_command("多条linux命令",get_pty=False)

print('redis:', stdout.read())

ssh.close()

time.sleep(30)

//redis启动,zookeeper和cache相同def priority():

需要优先启动的模块,内部逻辑如上

time.sleep(10)def dubbo():

dubbo各模块启动,内部逻辑如上

time.sleep(30)def gateway():

网关重启(一般为最后一步,内部逻辑如上)if __name__ == '__main__':

redis()

zookeeper()

cache()

priority()

dubbo()

gateway()

print('环境启动完成')

//主函数,启动完成后告知“环境启动完成”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值