shell脚本启动关闭tomcat,查看日志和备份项目

全是代码,根据本身需求更改tomcat路径和备份文件路径便可。 sh tomcat.sh + (start/stop/restart/logs/backup) 指令便可执行对应启动,关闭,重启,查看日志和备份操做。web

shell脚本以下:shell

#!/bin/bash  
#说明
#启动服务./tomcat.sh start
#中止服务./tomcat.sh stop
#重启服务./tomcat.sh restart
#查看日志:启动服务./tomcat.sh logs
  
tomcat_home=/usr/local/apache-tomcat-7.0.65
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
  
case $1 in    
start) 
echo "启动$tomcat_home,并输出启动日志"
$STARTTOMCAT
#看启动日志
tail -f $tomcat_home/logs/catalina.out
;;
stop)
echo "关闭$tomcat_home"
$SHUTDOWN
#pidlist=`ps -ef |grep tomcat  |grep -v "grep"|awk '{print $2}'`
#kill -9 $pidlist
#上面杀死进程后会终止,用下列杀死进程命令
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9

#删除日志文件,若是你不先删除能够不要下面一行  
rm  $tomcat_home/logs/* -rf
#删除tomcat的临时目录  
rm  $tomcat_home/work/* -rf
;;
restart)
echo "关闭$tomcat_home"
$SHUTDOWN
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9
#执行下列命令后杀死进程后会终止运行
#pidlist=`ps -ef |grep tomcat  |grep -v "grep"|awk '{print $2}'`
#kill -9 $pidlist

#删除日志文件,若是你不先删除能够不要下面一行  
#rm  $tomcat_home/logs/* -rf
#删除tomcat的临时目录  
#rm  $tomcat_home/work/* -rf
echo "等待5秒后从新启动$tomcat_home"
#每秒输出一次时间
i=4
while [ $i -ge 0 ]
do
   echo "还剩$i秒启动tomcat服务器"
   sleep 1
   let i--
done
echo "启动$tomcat_home"
$STARTTOMCAT
#看启动日志  
tail -f $tomcat_home/logs/catalina.out
;;
logs)  
tail -f $tomcat_home/logs/catalina.out  
;;

#备份项目
backup)
TIME=`date +%Y%m%d%H%M%S`
echo '开始备份项目'
tar -zcvf  usr/local/backup/'examples_'$TIME'_BAK'.tar -c  usr/local/apache-tomcat-7.0.65/webapps/examples
ls -l /usr/local/apache-tomcat-7.0.65/webapps/examples >> /usr/local/backup/logs/'example_'$TIME'_BAK'.log
echo '完成备份项目'
echo usr/local/backup/'examples_'$TIME'_BAK'.tar
;;
esac

注意坑!直接启动或重启后控制台输出日志状态,要先CTRL+C关闭日志输出再关闭服务器链接,不然会致使tomcat服务器中止!apache

相关文章
相关标签/搜索