shell脚本--部署应用到tomcat并启动tomcat
#!/bin/sh
#-----------------------------------------------------------------------------
#备份
#-----------------------------------------------------------------------------
file=$(date '+%m-%d')
#下面一行在控制台打印语句class文件
echo $(date) 备份/opt/wwwroot/WEB-INF/下的文件
cd /opt/backups/
mkdir $file
cd $file
cp /opt/wwwroot/WEB-INF/ . -r
#-----------------------------------------------------------------------------
#更新
#-----------------------------------------------------------------------------
#停止tomcat
echo $(date) 关闭tomcat
cd /opt/apache-tomcat-6.0./bin/
./shutdown.sh
echo tomcat停止运行
#判断Tomcat是否已经停止工作
echo $(date) 判断tomcat是否停止工作,如果没有,则间隔一段时间后强制关闭
int=
while (($int < ))
do
#a = show processes for all users 显示所有用户的进程 #u = display the process's user/owner 显示用户
#x = also show processes not attached to a terminal 显示无控制终端的进程
pid=$(ps aux|grep tomcat-|grep -v grep|awk '{print $2}')
#grep -v grep 防止列表出grep的进程号。
#awk '{print $2}' 一行一行的读取指定的内容, 以空格作为分隔符,打印第二个字段 (awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。)
if [ "$pid" = "" ]
then
echo $pid 不存在
int=
else
echo $pid 存在,休息20s
#let 后面接运算符表达式,不加引号应该也可以
let "int++"
sleep 20s
if [ "$int" = "" ]
then
echo $(date) 强制关闭tomcat
#强制杀掉进程 Ctrl-==Ctrl+C
kill - $pid
fi
fi
done
#备份log日志
echo $(date) 备份log日志
cd /opt/apache-tomcat-6.0./logs/
#把前面文件的内容剪切到后面的文件(后面文件的内容直接被override)
mv catalina.out catalina-$file.out
#拷贝更新文件
echo $(date) 把更新文件拷贝到运行目录
cd /home/shop/cc/
#cp * 复制当前文件下的所有文件
cp * /opt/wwwroot/ -r
#设置ulimit -n
echo $(date) 设置ulimit
cd /opt/apache-tomcat-6.0./bin/
#Linux对于每个用户,系统限制其最大进程数。为提高性能,可以根据设备资源情况通过ulimit设置各linux 用户的最大进程数
ulimit -n
#启动
echo $(date) 启动tomcat
./startup.sh
#-----------------------------------------------------------------------------
原文:http://blog.csdn.net/u014284252/article/details/51002174
shell脚本--部署应用到tomcat并启动tomcat的更多相关文章
- 用Eclipse的tomcat插件启动tomcat时报错:
用Eclipse的tomcat插件启动tomcat时报错: FATAL ERROR in native method: JDWP No transports initialized, jvmtiErr ...
- springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
- 解决Jenkins用shell脚本部署后,Jenkins自动杀掉启衍生出来的守护进程
Jenkins部署java项目遇到的问题: 1.Jenkins执行构建后,需要手动执行startup.sh,站点才能正常访问 产生原因: shell脚本发布时,会衍生进程,Jenkins默认会自动杀掉 ...
- shell脚本部署redis以及redis主从复制和redis-cluster集群
# 关于脚本: # 使用root用户执行此脚本,提前关闭selinux: # 执行脚本之前,hostsIP内的IP修改成自己的机器IP: # hostsIp内的IP数量如果有增加或者减少,for循环的 ...
- shell脚本部署apache并能通过浏览器访问!
第一步:导入httpd-2.2.17.tar包 第二步:创建一个test.sh文件(可在/root下) 第三步编写shell脚本 > 会重写文件,如果文件里面有内容会覆盖 >>这个是 ...
- 在腾讯云服务器上安装JDK+Tomcat并启动tomcat
由于Java web项目需要使用到tomcat所以决定在腾讯云服务器(centos7.X)上安装JDK和tomcat,来部署我们的项目. 准备工具: 云服务器:centos7.x+ 本地连接服务器:X ...
- CentOS部署多台服务器JDK(shell脚本部署)
部署7台新服务器的jdk,数量不算多,但也不打算一台一台的部署,写了个脚本执行 [ #!/bin/bash# JDK 安装包名jdk_packge="jdk-8u162-linux-x64. ...
- 使用shell脚本批处理控制大数据环境服务启动停止
三台集群机器: master 192.168.168.200 slave1 192.168.168.201 slave2 192.168.168.202 1.start-maste ...
- Shell脚本与vi编辑器:vi启动与退出、工作模式、命令大全
Vi简介 Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序. Vi不是排版程序,只是一个纯粹的文本编辑程序. Vi是全屏幕文本编辑器,它没有菜单,只有命令. Vi不是基于窗口的,所以, ...
随机推荐
- truffle框架快速开发合约步骤
矩阵元区块链智能合约开发指南 1 适用范围 本规范描述了矩阵元区块链系统智能合约的开发约束与规范,用以指导DAPP开发者按照本规范开发基于矩阵元区块链运行的应用. 2 术语解释 术语 术语解释 DAP ...
- A Compatible Pair
Description “年”是一个生活在海洋深处的怪物.每年,它都出现在陆地上,吞噬牲畜甚至是人.为了让怪物离开,人们用红色,光线和爆炸的声音填满他们的村庄,所有这些都吓跑了怪物. 小汤米有 n ...
- oracle数据库之存储函数和过程
一.引言 ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它.这样就叫存储过程或函数.过程和函数统称为 PL/SQL 子程序,他们是被命名的 PL/SQL 块 ...
- Java中I/O流之缓冲流
Java 中的缓冲流: 1. 缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法(带缓冲区的,显著减少对 IO 的读写次数,保护硬盘). 2. ...
- 开发iOS百度地图大头针可以重复点击
[self.mapView deselectAnnotation:view.annotation animated:YES];
- <Effective C++>读书摘要--Implementations<一>
1.For the most part, coming up with appropriate definitions for your classes (and class templates) a ...
- hadoop下安装mysql
http://www.cnblogs.com/zhuyp1015/p/3561470.html 第一步:先把这个文件放入到linux环境下桌面. 接着编写脚本:sudo apt-get u ...
- js实现倒计时60秒的简单代码
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...
- ubuntu 16.04 安装jdk9错误
转自:https://askubuntu.com/questions/769467/can-not-install-openjdk-9-jdk-because-it-tries-to-overwrit ...
- 织梦CMS建站入门学习(二)
织梦建站的数据库设计: 1.模型表:根据网站的需求,建立不同的数据模型,如:文章浏览,软件下载,视频观看等等. 2.栏目表:根据网站的需求,建立不同的栏目,每一个栏目选择一个数据模型. 3.内容主表: ...