Linux脚本自动打包发服务

 更新时间:2019年11月12日 11:10:30   作者:Swings12138  
这篇文章主要介绍了Linux脚本自动打包发服务的相关资料,需要的朋友可以参考下

适用于前后台分离的服务

一个jar包 一个前台工程

实现自动杀端口,复制文件,备份数据,发布新版本。

脚本复制到Linux中

【./jb.sh】按Enter运行即可

内容如下:

#自定义存放的地方
#文件存放的根目录
latestDir=/home/xnj
#jar包名字
jarName=swWeb.jar
#前端压缩包文件名
qdZipName=Desktop.zip
#前端tomcat的位置
qdTomcatPosition=/home/tomcat/apache-tomcat-8.5.43/webapps/ROOT
#脚本存放的位置
jbFilePosition=/home/jb
#结束
#年
year=KaTeX parse error: Expected 'EOF', got '#' at position 12: (date +%Y) #̲月 month=(date +%Y%m)
#日
day=KaTeX parse error: Expected 'EOF', got '#' at position 17: …date +%Y%m%d); #̲时分秒 hms=(date +%H%M%S)
#当前目录
currentDir=$(pwd)
#cd到当前目录
cd $jbFilePosition
#创建年目录
if [ ! -d $latestDir ]; then
mkdir $latestDir
fi
if [ ! -d latestDir/ latestDir/latestDir/year ]; then
mkdir latestDir/ latestDir/latestDir/year
fi
if [ ! -d latestDir/ latestDir/latestDir/year/$month ]; then
mkdir latestDir/ latestDir/latestDir/year/$month
fi
if [ ! -d latestDir/ latestDir/latestDir/year/month/ month/month/day ]; then
mkdir latestDir/ latestDir/latestDir/year/month/ month/month/day
fi
if [ ! -d latestDir/ latestDir/latestDir/year/month/ month/month/day/$hms ]; then
mkdir latestDir/ latestDir/latestDir/year/month/ month/month/day/KaTeX parse error: Expected 'EOF', got '#' at position 9: hms fi #̲将当前目录的下的jar包和前端…jarName latestDir/ latestDir/latestDir/year/month/ month/month/day/hmscp−r./ hmscp -r ./hmscp−r./qdZipName latestDir/ latestDir/latestDir/year/month/ month/month/day/$hms
#杀掉进程 awk是 是处理行数据的 xargs 是多个命令的连接的管道
ps -ef | grep $jarName | grep -v grep | awk ‘{print $2}' | xargs kill -9
#删除前台工程
rm -rf qdTomcatPosition/ qdTomcatPosition/qdTomcatPosition/qdZipName
rm -rf $qdTomcatPosition/static
rm -rf KaTeX parse error: Expected 'EOF', got '#' at position 29: …ion/index.html #̲加载新前台工程 cp -r .…qdZipName $qdTomcatPosition/
cd qdTomcatPositionunzip./ qdTomcatPositionunzip ./qdTomcatPositionunzip./qdZipName
#启动新的jar包
nohup java -jar latestDir/ latestDir/latestDir/year/month/ month/month/day/hms/ hms/hms/jarName >nohup.out &

ps:服务器自动打包发布shell脚本

脚本功能简介

  • 自动拉取Git服务器最新代码
  • 服务器maven自动打包
  • 自动重启发布jar项目
  • nohup 启动项目后保存进程号至文件

前置条件

  • Git可用
  • maven可用
  • spring boot打成jar包可以正常启动

脚本内容

#!/bin/sh
echo " ====开始拉取仓库最新代码==== "
cd /data/code/better;pwd;
git pull;git status;
echo "   "
git log --pretty=format:"%h - %an, %ar : %s" -5;
echo " ====服务器打包===="
mvn install -Dmaven.test.skip=true;
mvn clean package -Dmaven.test.skip=true;
echo " ====移动jar包并改名===="
cd /data/app;pwd;
cp /data/code/better/backend_web/target/backend_web-1.0-SNAPSHOT.jar /data/app;
mv backend_web-1.0-SNAPSHOT.jar better.jar;
echo " =====停止Java应用======"
#jps | grep better.jar | awk '{print $1;}' | xargs kill -9
kill -9 `cat /data/app/betterPid.txt`
echo " =====启动Java应用======"
nohup java -jar better.jar >/data/logdir/better/out.log & echo $! > /data/app/betterPid.txt &
#查看日志
echo "   "
echo " ===启动项目的进程号====";
cat /data/app/betterPid.txt;
tail -20f /data/logdir/better/out.log;

运行脚本

sh better.sh

总结

以上所述是小编给大家介绍的Linux脚本自动打包发服务,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • linux定时备份MySQL数据库并删除以前的备份文件(推荐)

    linux定时备份MySQL数据库并删除以前的备份文件(推荐)

    这篇文章主要介绍了linux定时备份MySQL数据库并删除以前的备份文件,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • 阿里云主机一键安装lamp、lnmp环境的shell脚本分享

    阿里云主机一键安装lamp、lnmp环境的shell脚本分享

    这篇文章主要介绍了阿里云主机一键安装lamp、lnmp环境的shell脚本分享,需要的朋友可以参考下
    2014-07-07
  • Shell脚本对比两个文本文件找出不同行的2个方法分享

    Shell脚本对比两个文本文件找出不同行的2个方法分享

    这篇文章主要介绍了Shell脚本对比两个文本文件找出不同行的2个方法分享,本文分别使用comm命令法、grep命令法实现,需要的朋友可以参考下
    2014-12-12
  • 非常简单的Shell菜单脚本

    非常简单的Shell菜单脚本

    这篇文章主要为大家详细介绍了非常简单的Shell菜单脚本,傻瓜式的人机交互,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • Shell脚本实现查杀子进程、僵尸进程

    Shell脚本实现查杀子进程、僵尸进程

    这篇文章主要介绍了Shell脚本实现查杀子进程、僵尸进程,本文直接给出实现代码,实现递归找到导致进程僵死的最底层子进程并杀除,需要的朋友可以参考下
    2015-01-01
  • 关于vi和vim的区别及命令详解

    关于vi和vim的区别及命令详解

    下面小编就就为大家带来一篇关于vi和vim的区别及命令详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Linux基础命令日常积累

    Linux基础命令日常积累

    Linux命令虽然用处很多,用过这么多次但是对其步骤、命令还是不记得,每次还是要到处找资料,下面小编把本次linux生产环境搭建分享在脚本之家平台,供大家参考
    2015-10-10
  • linux系统下hosts文件详解及配置

    linux系统下hosts文件详解及配置

    hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。这篇文章主要介绍了linux系统下hosts文件详解及配置的相关资料,需要的朋友可以参考下
    2016-10-10
  • Shell脚本中执行sql语句操作mysql的5种方法

    Shell脚本中执行sql语句操作mysql的5种方法

    这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中、命令行调用单独的SQL文件、使用管道符调用SQL文件等方法,需要的朋友可以参考下
    2014-10-10
  • linux几个没用但是有趣的命令(收藏)

    linux几个没用但是有趣的命令(收藏)

    今天给大家分享一些linux几个没用但是有趣的命令,非常不错,喜欢的朋友快快收藏吧
    2021-11-11

最新评论