一段自动化部署的shell脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一段自动化部署的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###############

  

以上是关于一段自动化部署的shell脚本的主要内容,如果未能解决你的问题,请参考以下文章

运维与自动化系列③自动化部署基础与shell脚本实现

如何利用jenkins git shell脚本自动部署服务

shell脚本和自动化部署

Linux基础-Shell脚本

RAC环境部署自动化shell脚本

Jenkins自动部署Shell脚本