Shell_tomcat重启和缓存清除_Linux运维笔记

开始做运维的时候经常会遇到重启tomcat、重新部署项目包等情况,为减少其他因素带来影响,就需要每次启动都要清除一下tomcat运行的缓存文件,这样问题就出来了,这个重复劳动没技术含量,也怕删错文件,就想这个tomcat为什么不能添加到服务呢?那样就能使用service *** start/stop命令,可是找了好久没找到,不知道是因为太简单,还是我的原因,时间久了,自己就开始研究shell了,上周开始学习shell也有半个月了,有点成果share一下。

目的:

1.重启tomcat

2.清空缓存文件

但是要注意的是环境变量的设置,若不同需要自己更改。


#!/bin/sh
tomcat_dir=/usr/local/apache-tomcat-7.0.47
#尝试关闭tomcat
Monitor(){
	echo "		[$(date +'%F %H:%M:%S')]"
	#第一次检查,是否存在,然后尝试使用shutdown关闭tomcat
	tomcatPid_1=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
	echo "Tomcat的pid为:$tomcatPid_1"
    if [ "$tomcatPid_1" ]
		then
		echo "=*=Tomcat运行正常,现在关闭,并清空缓存"
		sh $tomcat_dir/bin/shutdown.sh
		#第二次检查,shutdown结果,然后尝试使用kill关闭tomcat
		tomcatPid_2=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
		if [ "$tomcatPid_2" ]
			then
			kill -9 $tomcatPid_2
			#第三次检查,kill结果
			tomcatPid_3=$(ps -ef|grep tomcat |grep jdk | awk '{print $2}')
			if [ "$tomcatPid_3" ]
				then
				echo "	Tomcat进程kill失败,这个基本不可能"
			else
				echo "	Tomcat关闭成功For Kill"
			fi
		else
			echo "	shutdown.sh停止Tomcat成功"
		fi		
	else
		echo "	Tomcat之前并没有启动"
	fi
	
}
Monitor
#尝试清缓存/work/Catalina
if [ ! -d "$tomcat_dir/work/Catalina" ];
	then
	echo "/work/Catalian不存在"
else
	rm -rf "$tomcat_dir/work/Catalina"
	echo "/work/Catalina存在,现已删除"
fi
#尝试清日志
if ! [ -f "$tomcat_dir/logs/catalina.out" ]
	then
	echo "/logs/catalina.out不存在"
else
	cd $tomcat_dir/logs
	rm -rf *
	echo "tomcat日志文件存在,现已删除"
fi
#尝试清缓存/conf/Catalina
if [ ! -d "$tomcat_dir/conf/Catalina" ]
	then
	echo "/conf/Catalina不存在"
else
	rm -rf "$tomcat_dir/conf/Catalina"
	echo "/conf/Catalina存在,现已删除"
fi


我自己测试没有问题,脚本还在不断优化中。。。

推荐Linux学习千人群:148976441

新手学习,求更正,求建议,求同步
一条运维小白的自学之路

你可能感兴趣的:(Shell_tomcat重启和缓存清除_Linux运维笔记)