全是代碼,根據本身需求更改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