#参数配置
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. css浮动与清除浮动

    css浮动 首先,我们要知道,css中块级元素在页面中是独占一行的,自上而下排列,也就是我们所说的流,通常称为标准流. 以div为例,div是块级元素,如下: 可以清楚地看到,div是独占一行的,di ...

  2. 关于 Expression is not assignable 错误

    1.在 Build Phases中导入  UIKit.framework 2.在pch中导入头文件 #import <UIKit/UIKit.h> 3.写一个分类 即可解决 贴出分类代码 ...

  3. Python3.6 运行提示 ImportError: cannot import name 'CONFIG_FILE'

    如下代码: import os from utils.file_reader import YamlReader BASE_PATH = os.path.split(os.path.dirname(o ...

  4. MinTTY终端模拟器要点

    1.MinTTY是一个Cygwin和MSYS的虚拟终端: 2.支持复制和粘贴操作,支持鼠标操作和右键快捷菜单: 3.支持文本.文件.文件夹的拖放: 4.支持中文,支持UTF-8字符集,支持IME(In ...

  5. MemSQL Start[c]UP 2.0 - Round 1E. Three strings

    题意:给3个字符串,问从1到min(l1,l2,l3)的长度的子串,找到从该位置长度为l,三个子串相同的三元组的个数 题解:把3个子串用分隔符串起来.然后分开统计每个节点在三个串中出现次数.最后乘起来 ...

  6. redist命令操作(一)--键key,字符串String

    1.Redis 字符串(String) 参考菜鸟教程:http://www.runoob.com/redis/redis-strings.html 设置指定key的值,如果原来有,覆盖 127.0.0 ...

  7. 菜鸟脱壳之脱壳的基础知识(六)——手动查找IAT和修复Dump的程序

    前面讲了如何寻找OEP和脱壳,有的时候,Dump出来的时候不能正常运行,是因为还有一个输入表没有进行处理,一些加密壳会在IAT加密上面大做文章,用HOOK - API的外壳地址来代替真是的IAT的地址 ...

  8. K8s+jenkins实现提升效率 —— 一些小记录

    尝试下K8s + jenkins的组合,非常方便.在这里记录一下: kubernetes版本: 1.10 + deployment.yaml apiVersion: v1 kind: Service ...

  9. myEclipse和eclipse从debug视图自动跳回default视图。

    本来是吐槽文,找到了解决的插件,就改改标题了. debug的时候,可以从default视图自动跳转到debug视图,退出debug的时候,却不能自动切换回default视图. https://bugs ...

  10. [cf contest697] D - Puzzles

    [cf contest697] D - Puzzles time limit per test 1 second memory limit per test 256 megabytes input s ...