Tomcat重启Shell脚本
--测试通过
vim restart_tomcat.sh
#!/bin/bash
# Filename: restart_tomcat.sh
# Description: Restart tomcat
# Date: 2017-02-06
# Author: songwj
# Version: v1.0
export LANG=zh_CN.UTF-8
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_BASE=/usr/local/apache-tomcat-7.0.79
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
echo "[$(date +'%F %T')] >>> Tomcat begin to restart."
$CATALINA_BASE/bin/shutdown.sh
# Kill all remaining processes
pidList=$(ps aux | grep $CATALINA_BASE | grep -v grep | awk '{print $2}')
for pid in $pidList; do
kill -9 $pid
echo "[$(date +'%F %T')] >>> Kill the process [$pid] successfully."
done
$CATALINA_BASE/bin/startup.sh
echo "[$(date +'%F %T')] >>> Tomcat restart complete."
注意:直接使用tomcat中的shutdown.sh命令关闭tomcat服务时,往往无法正常关闭所有服务,会有残留进程没有正常关闭,久而久之,残留进程会侵占越来越多的系统资源,甚至重启后都无法正常访问项目,所以每次在执行完shutdown.sh命令后,需杀死残留进程,然后再重启服务,这点非常重要。
1. 问题:手动调用Shell重启脚本项目运行正常,但使用crontab定时调用时项目重启访问出现中文乱码?
解决方法:因为crontab调用脚本的运行环境和直接手动调用脚本的运行环境不同,所以在脚本中需指明所调用的环境,而且所调用的环境尽量写成绝对路径,避免出现不必要麻烦。此处使用crontab重启出现乱码,可以查看下正常环境中所使用的编码环境,经查为zh_CN.UTF-8,则在脚本中明确声明export LANG=zh_CN.UTF-8即可。
------------------------------------------------------------------------------
--测试通过
#!/bin/bash
#Filename:restart_tomcat.sh
# Description: Restart tomcat
# Date: 2017-02-06
# Author: songwj
# Version: v1.0
export LANG=zh_CN.UTF-8
export JAVA_HOME=/java/jdk1.8.0_91
export JRE_HOME=$JAVA_HOME/jre
export CATALINA_BASE=/java/apache-tomcat-9.0.24
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$CATALINA_BASE/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
echo "[$(date +'%F %T')] >>> Tomcat begin to restart."
$CATALINA_BASE/bin/shutdown.sh
# Kill all remaining processes
pidList=$(ps aux | grep $CATALINA_BASE | grep -v grep | awk '{print $2}')
for pid in $pidList; do
kill -9 $pid
echo "[$(date +'%F %T')] >>> Kill the process [$pid] successfully."
done
$CATALINA_BASE/bin/startup.sh
echo "[$(date +'%F %T')] >>> Tomcat restart complete."
Tomcat重启Shell脚本的更多相关文章
- linux系统下重启tomcat的shell脚本
linux系统下重启tomcat的shell脚本: #!/bin/shtomcat_home=/opt/apache-tomcat- #找到tomcat进程的id并kill掉 ps -ef |grep ...
- tomcat监控,自动重启shell脚本
tomcat监控,自动重启shell脚本如下,取名 monitor_tomcat.sh: #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # 获取tomcat进程ID(其中 ...
- 单机部署tomcat的shell脚本
单机部署tomcat的shell脚本,来自网络,自己需要时要根据自己的需求改动. #!/bin/sh # ############################################### ...
- 在linux中安装jdk以及tomcat并shell脚本关闭启动的进程
在命令行模式中输入uname -a ,如下图,当界面展示i386就说明本linux系统为32版本,就在官网下载对应jdk版本,或者直接到我的网盘上下载http://pan.baidu.com/s/1c ...
- 使用redis4.0.1和redis-cluster搭建集群并编写重启shell脚本
1.删除机器上原有的redis2.8 关闭redis-server killall -9 redis-server 查找redis文件所在目录 which redis 删除相关文件 rm -rf re ...
- linux重启tomcat的shell脚本
基本思路: 先检查待重启的tomcat的进程是否存在 存在则执行shutdown. 然后再次检查进程是否还存在,不存在则执行kill 然后删除工作空间及10天前的日志. 最后执行启动. #!/bin/ ...
- Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!
前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...
- uwsgi重启shell脚本
一.概述 工作中使用uwsgi时,每次需要进入到工作目录,去执行uwsgi相关命令,比较繁琐.这里整理了一个uwsgi重启脚本! 根据参考链接,修改了部分内容(定义了变量,修复了一些bug,增加了颜色 ...
- nginx奔溃自动重启Shell脚本
# vi /usr/local/nginx/sbin/nginx_restart.sh 贴入一下代码: #!/bin/bash #www.xmsolink.com #Monitor nginx ser ...
随机推荐
- DNS服务——正向查找区 和 逆向查找区
前言 正向查找区,就是我们最熟知的DNS.即根据域名解析成IP 逆向查找区,即根据IP解析成域名. 他们之间的关系很像ARP和RARP 正向查找区 /etc/named.rfc1912.zones用于 ...
- Pyspark笔记一
1. pyspark读csv文件后无法显示中文 #pyspark读取csv格式时,不能显示中文 df = spark.read.csv(r"hdfs://mymaster:8020/user ...
- JVM学习总结
JVM指令执行流程架构图:
- python RSA加密、解密、签名
python RSA加密.解密.签名 python中用于RSA加解密的库有好久个,本文主要讲解rsa.M2Crypto.Crypto这三个库对于RSA加密.解密.签名.验签的知识点. 知识基础 加密是 ...
- m_strcpy
自己实现strcpy函数 #include <stdio.h> #include <assert.h> //如果它的条件返回错误,则终止程序执行 char *m_strcpy( ...
- 云计算(9)--Gossip:multicast problem
Gossip/Epidemic ptotocol 解决的问题是multicast problem Gossip 协议是电脑之间的通信协议,受启发与现实社会的流言蜚语.现代分布式系统通常用gossip协 ...
- springboot2.0整合shiro遇到的问题
1.重启服务器,访问登陆页面,登陆成功后跳转的不是index,而是favicon.ico
- 金蝶二次开发C#
1 建立C#类库项目 2 引用EBOS组建Kingdee.K3.BOS.PlugInModel 3 示例代码 usingSystem; usingSystem.Collections.Generic; ...
- jquery检测屏幕宽度并跳转页面
jquery检测屏幕宽度并刷新页面 var owidth = ($(window).width()); //浏览器当前窗口可视区域宽度 if(owidth<640){//小于640跳转一个网址, ...
- SQL:自增主键的获取@@IDENTITY 和 SCOPE_IDENTITY 的区别
@@IDENTITY 返回当前会话所有作用域的最后一个ID SCOPE_IDENTITY() 返回当前作用域的最后一个ID 返回上面语句执行后产生的自增主键,这个是目前最可靠的方式: insert i ...