springboot调用python脚本_服务器自动化启动 SpringBoot 项目 Python 脚本

本文介绍了如何使用Python脚本自动化管理SpringBoot项目,包括启动、停止和状态检查。脚本通过检查进程是否存在并执行相应的操作,简化了服务器上jar包的部署流程,同时提供了JVM参数的配置选项。
摘要由CSDN通过智能技术生成

在服务器上部署SpringBoot 项目时,因为是打的 jar 包,还得 kill 掉原来的进程再重新部署,过于麻烦就写了一个自动化的脚本来完成这个功能。(需要 Python 环境)其中一些路径可根据实际情况进行配置。jvm 参数也可以进行适当调整!

[code]#!/usr/bin/python

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

import os,sys,time,commands

from sys import argv

times = time.strftime('%Y年%m月%d日%H:%M:%S')

_jdkpath_ = '填写你的JDK路径'

_processpath_ = 'jar包名字'

_fileDir_ = 'jar包所在路径'

_jarpath_ = _fileDir_ + _processpath_

_logpath_ = _fileDir_ + '日志路径'

_gclog_ = _fileDir_ + 'gc日志路径'

_jarvar_ = '-Xms256m -Xmx640m -Xss256K -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+UseAdaptiveSizePolicy'

def getpid():

pid = commands.getoutput("ps aux | grep %s | grep -v grep | awk '{print $2}'" % _processpath_)

return pid

def _status_():

j_pid = getpid()

if j_pid == '':

print("%s没有运行" % _processpath_)

else :

print("%s进程pid值:" % _processpath_ + getpid())

def _start_():

j_pid = getpid()

if j_pid != '':

print("%s已经在运行..." % _processpath_)

else :

print("启动%s......" % _processpath_)

time.sleep(4)

if os.system('%s -jar -XX:+PrintGCDetails -Xloggc:%s %s %s > %s 2>&1 &' % (_jdkpath_,_gclog_,_jarvar_,_jarpath_,_logpath_)) == 0:

print("启动%s成功,进程pid值:" % _processpath_ + getpid())

def _stop_():

s_pid = getpid()

if s_pid == '':

print("%s没有运行" % _processpath_)

else :

print("关闭%s......" % _processpath_)

os.system('kill -9 ' + s_pid)

os.system('echo "">%s && echo "">%s' % (_gclog_,_logpath_))

time.sleep(2)

if s_pid != '0':

print("关闭%s成功" % _processpath_)

else :

print("关闭%s失败" % _processpath_)

def _restart_():

_stop_()

time.sleep(2)

_start_()

if argv == "-h" or argv == "--help" or len(argv)==1:

print "☻☻☻请别害怕,这只是个简单的脚本,对应用和系统都是无损的☻☻☻\n%s,温馨提示用法:%s {start|stop|restart|status}" % (times,argv[0])

elif argv[1] == 'start':

_start_()

elif argv[1] == 'stop':

_stop_()

elif argv[1] == 'restart':

_restart_()

elif argv[1] == 'status':

_status_()

else:

print "☻☻☻请别害怕,这只是个简单的脚本,对应用和系统都是无损的☻☻☻\n%s,温馨提示用法:%s {start|stop|restart|status}" % (times,argv[0])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值