linux 下部署 重启 tomcat
#!/bin/sh
#
#tomcat home
#需要手动修改成自己的位置
#
tomcat_home=/usr/java/apache-tomcat-6.0.10
#在输入一个字符后不用按回车就提交
#如果机器上不认stty raw那么把函数中两处出现的raw换成cbreak
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty raw
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
#
#从键盘接收yes or no
#返回:0-yes 1-no
#
yesno()
{
echo -n "\n【q/Q退出,y/Y是,n/N否】 [q/y/n]:"
while true
do
cmd=`get_char`
case $cmd in
y|Y)
echo $cmd
return 0
;;
n|N)
echo $cmd
return 1
;;
q|Q)
echo $cmd
return 2
;;
*)
continue
;;
esac
done
}
#
#重启的方法
#
restrat()
{
pid=$(pgrep -f $tomcat_home)
echo kill pid[$pid]
kill -9 $pid
#调用删除日志和缓存
delCachel
#调用解压文件
unzipfile
#重启
sh $tomcat_home/bin/startup.sh
#调用查看日志
taillog
}
#
#只是解压更新文件
#
onlyunzip()
{
#调用解压文件
unzipfile
#调用查看日志
taillog
}
#
#查看日志
#
taillog()
{
tail -f $tomcat_home/logs/catalina.out
}
#
#解压文件
#
unzipfile()
{
cd $tomcat_home/webapps
unzip -o $tomcat_home/webapps/*.zip
}
#
#删除日志和缓存
#改方法只有在重启的时候使用
#
delCachel()
{
echo delete[$tomcat_home/logs/*]
rm -rf $tomcat_home/logs/*
echo delete[$tomcat_home/temp/*]
rm -rf $tomcat_home/temp/*
#null日志文件夹是我们项目里特有的 哈哈 配置的问题
echo delete[$tomcat_home/null/*]
rm -rf $tomcat_home/null/*
echo delete[$tomcat_home/work/*]
rm -rf $tomcat_home/work/*
}
#应用示例
echo "是否要重启?"
yesno
t=$?
if [ $t -eq 0 ];then
restrat
elif [ $t -eq 1 ];then
onlyunzip
elif [ $t -eq 2 ];then
echo "选择退出"
fi