部署新应用shell
来源:互联网 发布:网络文明绘画图片大全 编辑:程序博客网 时间:2024/06/05 05:39
经常开发时部署应用到服务器调试,一系列重复操作实在无趣,于是写了个一键部署的shell,以求解放。
功能:
- 终止Tomcat进程
- 备份原应用
- 部署新应用
- 替换相应配置文件
- 启动Tomcat
- 显示Tomcat运行日志
#!/bin/bash#部署新应用 by xl @ 2014-8-1 15:13:14#last modify @ 2014-8-4 14:25:31#获取最新war包echo ">GET NEW WAR"scp root@x.x.x.x:/home/xl/war/webapp.war /home/xl/war/webapp.war##参数设置##tomcatPath="/home/xl/tomcat"warPath="/home/xl/war/webapp.war"appName="webapp"webappsPath="$tomcatPath/webapps"bakPath="$tomcatPath/webapps_bak"#杀死tomcat进程#ps x|grep "/home/xl/tomcat"|grep -v "grep"|grep -v "sh"|awk '{print $1}'|xargs kill -9pid=$(ps x|grep "$tomcatPath"|grep -v "grep"|grep -v "sh"|awk '{print $1}')#ps x|grep "/home/xl/tomcat"|grep -v "grep"|grep -v "sh"|awk -F '[ +]' '{print $1}'if [ -n "$pid" ]; then #PID NOT EMPTY #进程存在则中止kill -9 $pidecho ">KILL PID: " $pidfi#备份原应用if [ ! -d $bakPath ]; then#如果备份目录不存在,则新建mkdir "$bakPath"fibakNowPath="$bakPath/$(date +%Y%m%d_%H%M%S)"mkdir "$bakNowPath"echo ">BAK DIRECTORY: $bakNowPath"#BAKmv "$webappsPath/$appName"* "$bakNowPath"echo "[$webappsPath]"ls "$webappsPath"|grep "$appName"echo "[$bakNowPath]"bakApp=$(ls "$bakNowPath"|grep "$appName")echo $bakAppif [ -n "$bakApp" ]; then echo ">BAKED"else echo ">BAK FAIL"fi#DEPLOY#mv "$warPath" "$webappsPath"#UNZIPunzip -q "$warPath" -d "$webappsPath/$appName"echo ">DEPLOY NEW WAR"echo "[$webappsPath/$appName]"ls "$webappsPath/$appName"#REPLACE#替换配置文件:如数据库连接配置cp "./bak/jdbc.properties" "$webappsPath/$appName/WEB-INF/classes"echo ">REPLACED"echo ">DEPLOYED"#CONFIRM#是否启动Tomcatecho -e "Start WebApp? (y/ENTER or n)\c"read input#if [ -n "$input" ] && [ "y" != "$input" ] && [ "Y" != "$input" ]; thenif [ -n "$input" -a "y" != "$input" -a "Y" != "$input" ]; then#用户有输入则退出;直接输入回车则继续echo ">EXIT"exit 0fi#START#sh "$tomcatPath/bin/startup.sh"#可以避免关闭终端连接 导致 tomcat进程的关闭nohup "$tomcatPath/bin/startup.sh" &echo ">START WEBAPP.."#SHOW LOGecho ">SHOW LOG.."tail -f "$tomcatPath/logs/catalina.out"
0 0
- 部署新应用shell
- Shell脚本实现应用自动安装部署
- 自动化部署服务shell脚本的应用
- linux服务器批量部署应用系统shell脚本(Tomcat/jetty)
- shell脚本--部署应用到tomcat并启动tomcat
- Ubuntu 系统上部署JavaWeb 应用(新的系统)
- shell应用
- 服务器部署shell代码
- shell 部署脚本
- shell 一键部署
- shell练习:自动部署
- jenkins -- shell 部署脚本
- 部署新的tomcat
- 一部Web应用自动化部署的进化史[AWS]-使用shell实现CodeDeploy
- 一部Web应用自动化部署的进化史[AWS]-使用shell实现CodeDeploy
- React Native应用部署/热更新-CodePush最新集成总结(新)
- Kubernetes1.3新特性:集群联盟-在全球快速部署和管理应用
- 菜鸡笔记:新部署的应用,要重启服务器,才可以访问。
- 二 unicode字库制作(智源GM813X多国语言OSD开发)
- Android程序ant打包
- 研读代码必须掌握的五个Eclipse快捷键
- [Leetcode] Path Sum
- DVB and EPG
- 部署新应用shell
- 文件上传
- tiny 4412---启动相关的大体分析
- android之SurfaceView,SurfaceHolder,SurfaceHolder.CallBack.
- 黑马程序员——从零开始学java程序(第四天)
- xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence
- 移动web前端开发
- javaweb之Filter详解
- java并发编程-Executor框架