全是代码,根据自己需求更改tomcat路径和备份文件路径即可。 sh tomcat.sh + (start/stop/restart/logs/backup) 指令即可执行对应启动,关闭,重启,查看日志和备份操作。
shell脚本如下:
#!/bin/bash #说明#启动服务./tomcat.sh start#停止服务./tomcat.sh stop#重启服务./tomcat.sh restart#查看日志:启动服务./tomcat.sh logs tomcat_home=/usr/local/apache-tomcat-7.0.65SHUTDOWN=$tomcat_home/bin/shutdown.shSTARTTOMCAT=$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"$SHUTDOWNps -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/* -rfecho "等待5秒后重新启动$tomcat_home"#每秒输出一次时间i=4while [ $i -ge 0 ]do echo "还剩$i秒启动tomcat服务器" sleep 1 let i--doneecho "启动$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/examplesls -l /usr/local/apache-tomcat-7.0.65/webapps/examples >> /usr/local/backup/logs/'example_'$TIME'_BAK'.logecho '完成备份项目'echo usr/local/backup/'examples_'$TIME'_BAK'.tar;;esac
注意坑!直接启动或重启后控制台输出日志状态,要先CTRL+C关闭日志输出再关闭服务器连接,否则会导致tomcat服务器停止!