#参数配置
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. vue数据变动监测

    原文链接:https://blog.csdn.net/man_tutu/article/details/72148362 对象: 不能监测到: var vm = new Vue({ data:{ a: ...

  2. 2019金融科技风往哪儿吹?蚂蚁金服联合20余家金融机构预测新年热点:5G、区块链上榜

    2019年,金融科技的风向标在哪里?哪些板块成新宠,哪些科技成潮流? 1月4日,蚂蚁金服ATEC城市峰会在上海举行.大会上,蚂蚁金服与20余家金融机构一起预测了2019年金融科技的发展. “未来金融会 ...

  3. jfinal afterJFinalStart中执行长久循环操作的解决方案:创建新线程

    很多时候,需要在jfinal中afterJFinalStart方法中,写一些需要一直循环运行的程序,做一些循环操作.但是在afterJFinalStart中,执行时间过长的话,会导致整个站点启动超时. ...

  4. 4 - BFS & Topological Algorithm

    615. Course Schedule https://www.lintcode.com/problem/course-schedule/description?_from=ladder&& ...

  5. LeetCode--027--移除元素(java)

    给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  6. pip使用国内源

    对于Python开发用户来讲,PIP安装软件包是家常便饭.但国外的源下载速度实在太慢,浪费时间.而且经常出现下载后安装出错问题.所以把PIP安装源替换成国内镜像,可以大幅提升下载速度,还可以提高安装成 ...

  7. Linux中文件夹访问权限不足

    经常操作Linux服务器,远程访问会遇到403问题,本篇讲述nginx下文件权限的修改. 1.命令修改该文件夹的权限 chmod -R 755 /usr/local/....   文件夹的路径 2.修 ...

  8. iframe的缺点

    *iframe会阻塞主页面的Onload事件: *搜索引擎的检索程序无法解读这种页面,不利于SEO; *iframe和主页面共享连接池,而浏览器对相同域的连接有限制,所以会影响页面的并行加载. 使用i ...

  9. 苹果手机的SB系列(4)你让我除了退出还能按哪个键

    我不知道,他们哪里来的自信,自己的机子就不死机?不设置重新启动? 看看下面这个界面,我按哪个键,全部是灰色的! 今天还有一事纪念,0.4m高的坠地,外屏碎掉了.

  10. VC调用外部程序

    #include <windows.h> int main() { STARTUPINFO mStatusInfo; memset(&mStatusInfo, 0, sizeof( ...