#参数配置
homeDir=$(pwd)
tomcatDir=$homeDir/tomcat
logDir=$homeDir/tomcat/logs
backUpDir=$homeDir/backup
warBackDir=$homeDir/backup/warBack
pidDir=$homeDir/pid
scriptDir=$homeDir/sh/script
configDir=$homeDir/sh/config
serverName=test
#创建目录 tomcat backup pid logs sh/script sh/config
mkdir -p $tomcatDir $logDir $backUpDir $warBackDir $pidDir
mkdir -p $scriptDir $configDir
#创建用户组,用户
groupadd tomcat
useradd -g tomcat -d $tomcatDir tomcat
#创建启动脚本
if [ -f $scriptDir/start.sh ]; then
rm -rf $scriptDir/start.sh
else
echo 创建文件$scriptDir/start.sh
touch $scriptDir/start.sh
fi
cat >$scriptDir/start.sh<< !
echo 启动服务$serverName
sh $tomcatDir/tomcat-$serverName/bin/startup.sh
!
#创建停止脚本
if [ -f $scriptDir/shutdown.sh ]; then
rm -rf $scriptDir/shutdown.sh
else
echo 创建文件$scriptDir/shutdown.sh
touch $scriptDir/shutdown.sh
fi
cat >$scriptDir/shutdown.sh<< !
echo 停止服务$serverName
kill -9 \`cat $pidDir/$serverName.pid\`
!
#创建发布脚本
if [ -f $scriptDir/publish.sh ]; then
rm -rf $scriptDir/publish.sh
else
echo 创建文件$scriptDir/publish.sh
touch $scriptDir/publish.sh
fi
#
cat >$scriptDir/publish.sh<< !
#!/bin/sh
backDir=$backUpDir
configDir=$configDir
tomcatDir=$tomcatDir
warBackDir=$warBackDir
scriptDir=$scriptDir
currentTime=\`date +%Y%m%d%H%M%S\`
#停止tomcat
sh \$scriptDir/shutdown.sh $serverName
#清除webapps
rm -rf \$tomcatDir/webapps/*
#清除日志
rm -rf \$tomcatDir/logs/*
#解压war包
unzip \$backDir/Bonade-Contract-Service.war -d \$tomcatDir/webapps/Bonade-Contract-Service
unzip \$backDir/Bonade-Contract-Web.war -d \$tomcatDir/webapps/Bonade-Contract-Web
#创建目录
mkdir \$tomcatDir/webapps/Bonade-Contract-Web/WEB-INF/classes/config
#复制配置
\cp -rf \$configDir/system.properties \$tomcatDir/webapps/Bonade-Contract-Service/WEB-INF/classes/config
\cp -rf \$configDir/jdbc.properties \$tomcatDir/webapps/Bonade-Contract-Service/WEB-INF/classes/config
\cp -rf \$configDir/system.properties \$tomcatDir/webapps/Bonade-Contract-Web/WEB-INF/classes/config
\cp -rf \$configDir/contract-web.xml \$tomcatDir/webapps/Bonade-Contract-Web/WEB-INF/web.xml
#备份包
mv \$backDir/Bonade-Contract-Service.war \$warBackDir/"Bonade-Contract-Service_\$currentTime".war
mv \$backDir/Bonade-Contract-Web.war \$warBackDir/"Bonade-Contract-Web_\$currentTime".war
#启动服务
\$scriptDir/start.sh $serverName
!
#文件授权
chown -R tomcat:tomcat $tomcatDir
chown -R tomcat:tomcat $backUpDir
chown -R tomcat:tomcat $pidDir
chown -R tomcat:tomcat $homeDir/sh
chown -R tomcat:tomcat $logDir
echo script execute complete

  

然后

设置密码
passwd tomcat

设置tomcat jdk pid 配置文件

linux发布环境初始化脚本的更多相关文章

  1. liunx用户环境初始化脚本

          liunx用户环境初始化脚本 编写生成脚本基本格式,包括作者,联系方式,版本,时间,描述等 [root@magedu ~]# vim .vimrc set ignorecase set c ...

  2. Linux初始化脚本

    以下脚本用于linux系统的初始化脚本,可以在服务器系统安装完毕之后立即执行.脚本结合各位大牛一些参数,已经在CentOS 5下通过. 使用方法:将其复制,保存为一个shell文件,比如init.sh ...

  3. kali linux Python开发环境初始化

    kali linux Python 黑客编程1 开发环境初始化 为什么要选择Python? Python作为目前Linux系统下最流行的编程语言之一,对于安全工作者的作用可以和C++相提并论.Pyth ...

  4. ASP.NET Core 发布至Linux生产环境 Ubuntu 系统

    ASP.NET Core 发布至Linux生产环境 Ubuntu 系统,之前跟大家讲解了 dotnet publish 发布,而没有将整个系统串起来. 今天就跟大家综合的讲一下ASP.NET Core ...

  5. 发布ASP.NET Core程序到Linux生产环境

    原文翻译:Publish to a Linux Production Environment 作者:Sourabh Shirhatti 在这篇文章里我们将介绍如何在 Ubuntu 14.04 Serv ...

  6. linux系统最小化安装后的初始化脚本

    作为运维人员,经常会初始化系统,系统在安装过程中基本都会选择最小化安装,这样安装好的系统里会缺少很多环境. 下面分享一个系统安装后的初始化脚本: #!/bin/bash #系统时最小化安装的,这里要安 ...

  7. 【linux】系统初始化的shell脚本

    根据参考网上的一些文章,总结出来一个系统初始化的shell脚本 1.初始化脚本 #!/bin/bash cat << EOF +------------------------------ ...

  8. Linux中环境变量中文件执行顺序

        Linux 的变量可分为两类:环境变量和本地变量   环境变量:或者称为全局变量,存在于所有的shell 中,在你登陆系统的时候就已经有了相应的系统定义的环境变量了.Linux 的环境变量具有 ...

  9. Cygwin--unix/linux模拟环境

    Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多有用的工具,著名的还有eCos,不过现已被Redhat收购).它 ...

随机推荐

  1. 使用RStudio调试(debug)基础学习(二)和fGarch包中的garchFit函数估计GARCH模型的原理和源码

    一.garchFit函数的参数--------------------------------------------- algorithm a string parameter that deter ...

  2. Java问题解决:springboot启动出现-Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package

    参考资料: http://www.mamicode.com/info-detail-2101273.html https://blog.csdn.net/u012834750/article/deta ...

  3. Reids 持久化AOF 重写实现原理

    AOF重写 AOF重写并不需要对原有AOF文件进行任何的读取,写入,分析等操作,这个功能是通过读取服务器当前的数据库状态来实现的.(auto-aof-rewrite-percentage和auto-a ...

  4. hdoj4859海岸线

    1.地图周围再加一圈海 2.周长最多为sum=n*(m+1)+m*(n+1).如果有邻接相同,要减1.最小割使相同最少.结果为sum-最小割 3.但是有E海滩,两边都能选.让E到S,T都连一个很大的数 ...

  5. Linux三种网络连接模式

    https://www.cnblogs.com/linjiaxin/p/6476480.html 三种模式的区别:https://www.cnblogs.com/itxiaok/p/10358055. ...

  6. python 读取文件read.csv报错 OSError: Initializing from file failed

    小编在用python 读取文件read.csv的时候 报了一个错误 OSError: Initializing from file failed 初始化 文件失败 检查了文件路径,没问题 那应该是我文 ...

  7. C/C++与C#之间类型的对应

    最近在研究pos打印机相关功能, 调用winapi以及跨进程通信等,都涉及到类型之间的转换. C/C++ C# HANDLE, LPDWORD, LPVOID, void* IntPtr LPCTST ...

  8. FPM三:简单的SEARCH(OIF)

    这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序. 1.使用事务代码:FPM_WB.打开工作台. 2.点击Wizard for Creating Empty FPM App ...

  9. react和vue的不同

    React严格上只针对MVC的view层,Vue则是MVVM模式 virtual DOM不一样,vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树.而对于React而言,每当应用的状态被改变时 ...

  10. vue-cli脚手架build目录中的webpack.prod.conf.js配置文件

    // 下面是引入nodejs的路径模块 var path = require('path') // 下面是utils工具配置文件,主要用来处理css类文件的loader var utils = req ...