linux 部署脚本
shell 脚本
#!/bin/bash
#设置jdk环境
export JAVA_HOME=/usr/java/jdk1.8.0_45
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
###################################
#环境变量及程序执行参数
#需要根据实际环境以及Java程序名称来修改这些参数
###################################
#需要启动的Java主程序(main方法类)
JAR_FILE="schedule.server-1.0-SNAPSHOT.jar"
#项目路径
APP_HOME="/home/robin/wallet_push"
#环境配置
ENV_OPTS="--spring.profiles.active=release"
SPRING_CONFIG_LOCATION="--spring.config.location=$APP_HOME/release/job.properties,$APP_HOME/release/application.properties,$APP_HOME/release/quartz.properties"
#端口号
SERVER_PORT="8085"
#java虚拟机启动参数
JAVA_OPTS="-ms512m -mx512m -Xmn256m -Djava.awt.headless=true -XX:MaxPermSize=128m -Dsun.net.http.allowRestrictedHeaders=true"
###################################
# 获取进程id
pid=0
checkpid() {
server_pid=$(pgrep -f $JAR_FILE)
if [ -n "$server_pid" ]; then
pid=`echo $server_pid`
else
pid=0
fi
}
start(){
echo "ready to start $JAR_FILE"
checkpid
if [ 0 -ne $pid ]
then
echo "warn: server started already!"
else
java $JAVA_OPS -jar $JAR_FILE --server.port=$SERVER_PORT $SPRING_CONFIG_LOCATION > stdout.log &
sleep 3s
checkpid
if [ 0 -ne $pid ]
then
echo "warining: failed"
else
echo "server started"
fi
fi
}
stop(){
checkpid
if [ 0 -ne $pid ]
then
kill -9 $pid
checkpid
if [ 0 -eq $pid ]
then
echo "server stoped"
else
echo "warning: server toped failed!"
fi
else
echo 'warning: server not started!'
fi
}
case $1 in
start)
start
;;
restart)
stop
start
;;
stop)
stop
;;
esac
linux 部署脚本的更多相关文章
- 吻逗死(windows)系统下自动部署脚本(for java spring*)及linux命令行工具
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10051647.html (^^)(^^)自動部署腳本原本在上個公司就在使用,由於近期同事需要手動部署一個Spr ...
- 自动化部署脚本--linux执行sh脚本
自动化部署脚本文件目录: 运行主程序:./install.sh #!/bin/bash SCRIPTPATH=$(cd "$(dirname "$0")"; p ...
- Linux部署项目 shell脚本启动 及 Centos7开放指定端口
我们首先要在linux上安装好jdk tomcat mysql 这些基本环境,这些可以在楼主的 Linux入门 里面找到. linux部署spring项目 1. 右击项目,maven ...
- linux开发脚本自动部署及监控
linux开发脚本自动部署及监控 开发脚本自动部署及监控一.编写脚本自动部署反向代理.web.nfs:要求:1.部署nginx反向代理三个web服务,调度算法使用加权轮询: #!/bin/sh ngx ...
- linux mysql 5.7.20 部署脚本+备份脚本
一.官网下载源码包 源码包:mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz 检查环境,卸载老版本mysql 二.自动部署脚本 进入文件目录,执行脚本 #!/bin ...
- Java web项目在linux环境下自动编译和部署脚本
自动编译脚本 build.sh, 放置在项目根目录下. #!/bin/bash # check args # init path CURRPATH=`pwd` LIBDIR="$CURRPA ...
- Linux 一键部署脚本
在当前路径下输入 chmod 777 脚本名 给脚本授权, 然后就可以执行脚本 ./脚本名 777 是最高权限,有读.写.执行权限:和属组用户和其他用户的读.写.执行权限. 其他权限分别是 -r ...
- ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus 本文承接我的上一篇博文: ASP.NET 5 Linux部署,那篇文章主要是针对最新的ASP. ...
- Linux部署ASP.NET 5 (vNext)
原文:Linux部署ASP.NET 5 (vNext) ASP.NET 5 (vNext) Linux部署 引言 工欲善其事,必先利其器. 首先,我们先明确下以下基本概念 Linux相关 Ubun ...
随机推荐
- scala 基础笔记
view bound:必须传入一个隐式转换函数 class [T <% Ordered [T]] content bound:必须传入一个隐式值 class [T : Ordering] !异步 ...
- [已解决]报错SyntaxError: Non-ASCII character '\xe6'
解决方案:开头加上 # -*- coding: utf-8 -*
- pymysql连接mysql报错
pymysql模块操作数据库及连接报错解决方法 import pymysql sql = "select host,user,password from user" #想要执行 ...
- java-day27
## Bootstrap: 1. 概念: 一个前端开发的框架,Bootstrap,来自 Twitter,是目前很受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JavaScri ...
- 《代码大全2》读书笔记 Week4
<代码大全2>第8章:防御式编程 防御式编程的主要思想是子程序应该不因为非法的输入值被破坏,就好比开车时的防御式驾驶:你无法预估其他司机将会做什么,但你要采取措施保证当他人做出危险动作时自 ...
- linux 6 timezone修改
linux 6 / Amazon linux 因为正好在使用Amazon 的linux AMI 又遇到了需要修改系统时区这个case 所以就调查了一下修改方法,因为Amazon的linux版本是由A ...
- SOCK_SEQPACKE
The SOCK_SEQPACKET socket type is similar to the SOCK_STREAM type, and is also connection-oriented. ...
- day02 mysql基本语句 存储引擎 数据类型 完整性约束
day02 mysql 一.sql的基本语句 系统数据库 information_schema: 虚拟库, 不占磁盘空间(在内存汇中): 存的是数据库启动后的一些参数, 如 ...
- delphi xe10 手机内部系统相关操作(手机信息、震动、剪贴板、键盘、电话、拨号)
//获取手机信息 function GetPhoneInfo(): string; Var TelephonyManager: JTelephonyManager; TelephonyServiceN ...
- thinlphp配置加载
在ThinkPHP中,一般来说应用的配置文件是自动加载的,加载的顺序是: 惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置-> ...