一段自动化部署的shell脚本

#!/bin/bash
####just for autodeploy
###author:zgniu

#########定义项目路径#########
item_war_dir="/home/v2/tomcat8080/webapps/server-mobile-web"
#########定义项目配置文件路径#########
item_conf_dir="/home/v2/tomcat8080/webapps/server-mobile-web/WEB-INF/classes"
#########定义历史配置文件路径#########
history_conf_dir="/home/backupfile/server-mobile-web"
#########定义tomcat启动路径#########
tomcat_bin_dir="/home/v2/tomcat8080/bin"
#########定义项目名称#########
item_name="server-mobile-web.war"
#########定义进程名称#########
instance_name="tomcat8080"
#########项目地址#########
item_url="http://localhost:8080"
#########项目日志路径#########
item_log_dir="/home/v2/tomcat8080/logs"
#########定义项目备份具体时间到秒#########
datetime=`date +%y-%m-%d`

#########开始kkill tomcat进程#########
ps aux | grep ${instance_name} | grep -v grep | awk ‘{print "kill -9",$2|"bash"}‘

#########检查进程是否存在#########"
FLAGEID=$(ps aux | grep $instance_name | grep -v grep)

#########不存在执行如下操作#########"
if [[ "$FLAGEID" == "" ]];then
       # cd ${item_war_dir}
       # jar -xvf ${item_name}
	#	sleep 6
        cp -rf  ${history_conf_dir}_backup${datetime}/WEB-INF/classes/* ${item_conf_dir}
		sleep 3
        cd ${tomcat_bin_dir}
        ./startup.sh

#########否则再次执行kill进程#########"
else
ps aux | grep ${instance_name} | grep -v grep | awk ‘{print "kill -9",$2|"bash"}‘
fi

sleep 5
#########检查是否启动成功#########"
cd ${item_log_dir}
tail -f catalina-20${datetime}.out   

############curl ${item_url}
###if [ $? -eq 0  ]; then
######   echo -e "\n##################################恭喜你,项目启动成功##################################\n"
#####else
######    echo -e "\n############################很遗憾,项目启动失败,请手动检查############################\n"
fi###############

  

时间: 2024-10-10 02:31:11

一段自动化部署的shell脚本的相关文章

Lvs别样的自动部署监控shell脚本

Lvs别样的自动部署监控shell脚本   l 脚本功能: l 实验环境图: l 具体脚本: l 结果验证: l 参考资料: 先申明,本文现在已经在我公司的测试环境和生产测试环境使用.正式环境请用keepalived+lvs. 安装ipvsadm不多说了,先说说脚本的功能,脚本分为redirect server 端和realserver 端,脚本分别为 lvs_redirector.sh 和realserver.sh脚本.另外加一个监控脚本lvs_monitor.sh(此脚本来源网友,做了一点修

自动化运维Ansible批量部署服务+shell脚本批量推送公钥

一.概述分析 由于互联网的快速发展导致产品更新换代速度逐渐加快,运维人员每天都要进行大量的维护操作,仍旧按照传统方式进行维护会使得工作效率低下.这时,部署自动化运维就可以尽可能安全.高效地完成这些工作.一般会把自动化运维工具划分为两类:一类是需要使用代理工具的,也就是基于专用的ABem程序来完成管理功能,如: Puppet.Func. Zabbix等:另外一类是不需要配置代理工具的,可以直接基于SSH服务来完成管理功能,如: Ansible. Fabric等. - 下面介绍几款功能类似的自动化运

用于Spring Boot Jar部署的shell脚本

用于在Jenkins将jar发送到目标节点之后的部署操作, 包含deploy, start, stop, restart功能. 在deploy时会自动备份原jar至指定目录 # Please define the absolute path of tomcat instance JAVA_HOME=/opt/java/jdk1.8.0_101 RUN_BASE=/home/tomcat/run BUILD_FOLDER=/home/tomcat/builds ARCHIVE_FOLDER=/ho

用shell脚本自动化部署dhcp服务,加图文验证

自动化dhcp服务shell脚本如下: #vim auto_dhcp.sh #!/bin/bash read -p "please input your ip: " IP     #设置dhcp服务器ip read -p "please input your gw: " GW     #设置dhcp服务器网关 IPNET=$(echo $IP |awk -F. '{print $1"."$2"."$3}')  #取网段号  I

使用自动化shell脚本查找CPU使用的详细线程信息

项目加了些拦截器代码后,CPU报警,显示CPU使用率超过100%: 想要查找到底是哪些代码消耗的资源过多,从网上找到一篇博文,转载如下: http://blog.csdn.net/guixunlong/article/details/8450897 在知道哪个Java进程CPU占用率过高以后: 1.使用命令 jstack PID 命令打印出CPU占用过高进程的线程栈,例如jstack 12012 > 12012.txt 2.使用top -H -p PID 命令查看对应进程是哪个线程占用CPU过高

前端自动化部署的深度实践

年前我也在自动化部署这方面下了点功夫,将自己的学习所得在自动化部署的一小步,前端搬砖的一大步这篇博客中做了分享.感谢两位网友@_shanks和@TomCzHen的意见,让我有了继续优化部署流程的动力.本文主要是在自动化部署流程中,对版本管理和流程合理性等方面做了一些改进,配合规范的工作流,使用体验更佳! 更新日志自动生成 之前我都是手动修改CHANGELOG.md,用来记录更新日志,感觉操作起来有点心累,也不是很规范.好在已有前人种树,于是我就考虑利用conventional-changelog

通过Git WebHooks+脚本实现自动更新发布代码之shell脚本

前文讲述了<通过Git WebHooks+脚本实现自动更新发布代码>,里面提供了一种自动更新发布代码的脚本编写思路.本文的脚本与前文中的思路不太不同.本脚本以capistrano中的一些思想和理念为依据,用简单好理解的shell脚本实现capistrano原本实现的自动化部署部分. 脚本的一些特点和功能: 解决脚本的符号链接问题,准确获取脚本工作目录(从tomcat脚本中学到): 颜色显示,不同级别的信息用不同的颜色显示(共两种方案,前一种从一位不知名的国外工程师处得到,后一种从lnmp1.2

Jenkins从零开始搭建持续集成+自动化部署详细说明

说明:该说明文档的案例是:在windows上部署Jenkins服务,最终将持续集成的war包自动部署到远程服务器(Centos 7)上. 一.Jenkins安装 1. Jenkins下载地址:https://jenkins.io/download/,如图,我现在的是windows版本的: 2. 下载之后,解压点击msi文件运行,如图: 3. 我已经安装过一次了,这儿就不详细描述,安装教程请参考百度经验:https://jingyan.baidu.com/article/cbcede077f62b

通过shell脚本实现代码自动化部署

一.传统部署方式及优缺点 1.传统部署方式 (1)纯手工scp (2)纯手工登录git pull.svn update (3)纯手工xftp往上拉 (4)开发给打一个压缩包,rz上去:解压 2.缺点 (1)全程运维参与,占用大量时间 (2)上线速度慢 (3)人为失误多,管理混乱 (4)回滚慢,不及时 二.环境规划 1.开发环境--开发者本地有自己的环境. 运维需要设置的开发环境,大家共用的服务. 2.测试环境:功能测试环境和性能测试环境. 3.预生产环境:生产环境集群中的某一个节点. 4.生产环