`
annan211
  • 浏览: 462549 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

shell 自动部署tar包

 
阅读更多
#!/bin/bash

:<<!
  @date 2018-03-15
  @author Jeff.jing
  @desc 
     使用规则:
	  1 脚本需要有执行权限 chmod 755
	  2 需要将 standalone.tar.gz 压缩文件作为参数传入脚本
	 	
!

#接收部署文件名称
standalone_file=$1
if [ ! -f $standalone_file ]; then  
  echo $standalone_file " source file is not found,please check it and try again later !"
  exit 1
fi  
	
if [[ ! -s $standalone_file ]];then 
  echo "***********************************************************************"
  echo "***********************************************************************"
  echo "target source file  is not found ,please check it and try again later !"
  echo "***********************************************************************"
  echo "***********************************************************************"
  exit 1
fi 

if [ ! "${standalone_file##*.}"x = "gz"x ];then
  echo "***********************************************************************"
  echo "***********************************************************************"
  echo "target source file type is not .tar.gz ,please check it and try again later !"
  echo "***********************************************************************"
  echo "***********************************************************************"
  exit 1
fi


#备份原项目
backup_dir=/opt/profile-facade-auto-`date '+%Y%m%d%H%M%S'`
echo "***********************************************************************"
echo "begin backup profile-facade-auto into "$backup_dir
sudo mkdir $backup_dir
sudo cp -R /opt/profile-facade-auto/*  $backup_dir
echo "backup profile-facade-auto into is done"

p_id='profile-facade-auto.PID'
kill_file="kil-file"
touch $p_id
touch $kill_file

#停止facade-auto 进程
echo "***********************************************************************"
echo "begin stop profile-facade-auto java process "
ps -ef | grep "/opt/profile-facade-auto/config/" | grep -v grep | awk '{print $2}' > $p_id
P_ID=$(head -1 $p_id | awk '{print$1}')
echo $P_ID 

if [ ! -f $P_ID ]; then
	echo "exit failure process : "$P_ID 
	sudo kill -9 ${P_ID}  #>/dev/null 2>&1    需要判断此进程是否真的存在 !!!!!
	echo "profile-facade-auto has been stoped"
fi

sudo rm -rf  /opt/profile-facade-auto/
sudo mkdir /opt/profile-facade-auto/

#解压缩目标发布包
echo "***********************************************************************"
echo "begin install profile-facade-auto service,please wait a second... "
sudo tar -zxvf $standalone_file  -C /opt/profile-facade-auto

#线上环境配置文件覆盖
sudo cp $backup_dir/config/DP-ProfileFacadeAuto-Traffic/config/automotive-schema-extension.json /opt/profile-facade-auto/config/DP-ProfileFacadeAuto-Traffic/config/
sudo cp $backup_dir/config/DP-ProfileFacadeAuto-Traffic/config/profile-facade-auto.config.yml /opt/profile-facade-auto/config/DP-ProfileFacadeAuto-Traffic/config/
sudo cp $backup_dir/config/DP-ProfileFacadeAuto-Traffic/credential/DP-ProfileFacadeAuto-Traffic.yml  /opt/profile-facade-auto/config/DP-ProfileFacadeAuto-Traffic/credential/
sudo cp -R $backup_dir/config/foundation-shared/config/* /opt/profile-facade-auto/config/foundation-shared/config/

#启动项目
echo "***********************************************************************"
echo "starting profile-facade-auto service "
sudo /opt/profile-facade-auto/bin/startup.sh 
echo "profile-facade-auto start up success !" 

rm $p_id





分享到:
评论

相关推荐

    shellscript.tar.gz

    Shell脚本是Linux/Unix操作系统中用于自动化任务的编程语言,它基于Bash或其他Shell解释器。`shellscript.tar.gz`是一个压缩包,包含了多个与Shell脚本相关的文件,这显然是一个关于Shell脚本编写的资源集合。让我们...

    shell自动化构建脚本

    在IT行业中,shell自动化构建脚本是开发流程中不可或缺的一部分,尤其对于开源软件项目和持续集成(CI)环境。shell脚本是Unix/Linux系统中的一种命令行解释器,用于执行一系列命令,实现任务的自动化。在本文中,...

    离线Shell脚本自动化部署Fastdfs

    tar -zxvf libfastcommon-V1.0.38.tar.gz cd libfastcommon-1.0.38/ #编译安装 ./make.sh && ./make.sh install cd #安装fastdfs tar -zxvf fastdfsV5.11.tar.gz cd fastdfs-5.11/ #编译安装 ./make.sh ...

    Linux利用Shell脚本部署jar包项目的完整步骤

    在Linux环境中,自动化部署Java应用程序通常使用Shell脚本来实现,特别是对于包含jar包的应用,这种方法既高效又方便。本文将详细介绍如何使用Shell脚本在Linux上部署jar包项目。 首先,确保你的系统已经安装了Java...

    自动化部署JDK Shell脚本

    在服务器环境中,JDK的自动部署通常用于快速设置开发或生产环境。 Shell脚本,又称为Bash脚本,是Linux或Unix系统中的一种命令行脚本语言。它允许我们编写一系列命令,通过执行脚本来完成复杂的任务,如文件操作、...

    自动化部署脚本

    在使用这些文件进行自动化部署时,用户需要熟悉Linux Shell脚本编写,理解部署流程,并具备一定的系统管理知识。同时,对于Nginx的配置和管理也需要一定的了解。确保所有必要的环境变量、依赖库和端口设置都已正确...

    hadoop环境部署自动化shell脚本(伪分布式、完全分布式集群搭建).docx

    脚本`install-hadoop.sh`包括了所有上述功能的实现,使用了URL链接下载Java和Hadoop的RPM包和tar.gz文件,然后通过一系列的自动化操作,如解压、配置、传输、格式化等,实现了Hadoop的快速部署。 总的来说,这个...

    自动化部署EMQX Shell脚本

    在标题和描述中提到的“自动化部署EMQX Shell脚本”,意味着我们将讨论如何通过编写Shell脚本来实现EMQX的自动部署,这在系统运维和持续集成(CI/CD)流程中是非常常见的需求。编写自动化脚本可以提高效率,减少人为...

    自动化部署Redis Shell脚本

    总的来说,通过编写Shell脚本自动化部署Redis,不仅可以提高部署效率,还能确保每次部署的一致性,减少人为错误。结合其他如Docker、Kubernetes等容器化技术,你可以构建更强大的自动化部署体系,适应不断变化的业务...

    自动化部署Nginx Shell脚本

    本主题聚焦于使用Shell脚本来自动化部署Nginx,一个广泛应用的高性能Web服务器和反向代理。Nginx以其高并发处理能力、低内存消耗和出色的稳定性著称。 首先,了解Nginx的基本概念至关重要。Nginx采用事件驱动的异步...

    nginx自动编译部署

    本教程将详细介绍如何使用Shell脚本进行Nginx的自动编译与部署,以实现快速、便捷的操作。 首先,我们需要了解Nginx的版本1.12.0。这是一个较旧但仍然广泛使用的版本,它提供了稳定的性能和必要的功能。在升级或...

    自动化部署ElasticSearch Shell脚本

    本文将详细讲解如何使用Shell脚本来实现Elasticsearch的自动化部署。 首先,Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,广泛应用于日志分析、实时监控、数据存储和检索等领域。它的部署过程涉及...

    自动化部署ZK Shell脚本

    **自动化部署ZK Shell脚本** 在IT行业中,自动化部署是提高效率、减少错误的关键环节。Zookeeper,作为Apache的一个开源项目,是一个分布式的、开放源码的分布式应用程序协调服务,是集群管理的必备工具。它提供了...

    jdk1.8自动部署脚本(附jdk安装包)

    自动部署脚本通常由shell脚本编写,用于简化和自动化重复性任务,例如安装软件。在这个场景中,"jdk.sh"就是这样一个脚本,它的目的是简化JDK 1.8的安装过程。以下是你需要遵循的步骤: 1. **下载并解压**:首先,...

    mysql自动化部署

    2. **解压源码**:使用tar命令对下载的源码包进行解压,例如`tar -zxvf mysql-source-code.tar.gz`。 3. **配置编译**:进入解压后的目录,使用`./configure`命令进行配置,这一步可以根据系统环境和个人需求指定...

    redis集群一键自动部署脚本.rar

    "redis集群一键自动部署脚本.rar" 提供了一种便捷的方式来在 CentOS 7.X 操作系统上搭建 Redis 集群。以下是关于Redis集群、shell脚本以及CentOS的相关知识点: 1. **Redis集群**: - **主从复制(Replication)**...

    PyPI 官网下载 | cloudshell-app-helper-1.0.5.tar.gz

    CloudShell是由Quali公司开发的一款云和数据中心自动化管理平台,它提供了一个沙箱环境,允许开发者和管理员快速部署和测试复杂的IT服务和应用。`cloudshell-app-helper`库可能包含以下功能: 1. **API交互**:此库...

    PyPI 官网下载 | shell-util-0.1.1.tar.gz

    【标题】"PyPI 官网下载 | shell-util-0.1.1.tar.gz" 描述的是一个在Python Package Index(PyPI)上发布的开源工具,名为 "shell-util" 的软件包。该软件包的版本号是0.1.1,并且以tar.gz格式提供,这是一种常见的...

    shell-auto-deploy-k8s.tar.gz

    在IT行业中,特别是针对容器化和集群管理领域,Kubernetes(简称k8s)是目前广泛应用的开源平台,用于自动化容器应用的部署、扩展和管理。在这个场景中,"shell-auto-deploy-k8s.tar.gz" 压缩包文件提供了离线安装...

    gpmall商城 资源+一键部署脚本

    一键部署脚本可能基于Shell、Python或Node.js编写,它极大地降低了技术门槛,使得非专业人员也能快速地将商城系统部署到服务器上。 5. **服务器环境配置**: 为了运行gpmall商城,服务器通常需要安装Apache、Nginx...

Global site tag (gtag.js) - Google Analytics