shell编程—tomcat自动发包详解
生活随笔
收集整理的這篇文章主要介紹了
shell编程—tomcat自动发包详解
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
tomcat是我們日常使用的java容器,常作為web服務器和Nginx配合使用,運維工程師需要經常發(fā)布更新包,而使用shell腳本可以實現(xiàn)高效安全的發(fā)包,這以我虛擬機環(huán)境來編寫。
一. 需求
二. 思路
這里需用if條件語句來判斷
注意:雖然看起來簡單,但是要想用shell來實現(xiàn)還是有一定難度,要考慮周全各種因素,難點在于兩個檢測,檢測tomcat是否運行以及檢測文件名稱,擅用if語句和for循環(huán)實現(xiàn),變量編寫,注意文件權限。
三. 腳本代碼
#!/bin/bashcount1=`ps -ef | grep tomcat | grep -v "grep" | wc -l`if [ $count1 -gt 0 ];thenecho "tomcat working,tomcat stopping"cd /usr/local/tomcat/binsh catalina.sh stop &>/dev/nullsleep 3scount2=`ps -ef | grep tomcat | grep -v "grep" | wc -l`if [ $count2 -gt 0 ];then pid=`ps -ef | grep tomcat | grep -v "grep" | awk '{print $2}'`kill -9 $pidelif [ $count2 -eq 0 ];thenecho "tomcat stopped"fielif [ $count1 -eq 0 ];thenecho "tomcat already stopped"fidate=`date +%Y-%m-%d-%H%M`cd /soft/newchmod -R 777 /soft/newchmod -R 777 /usr/local/tomcat/webapps/*for i in My-111 My-222 My-333 My-444 My-555 My-666 My-777docount3=`ls | grep war | grep "$i"- | wc -l`if [ $count3 -gt 0 ];thenecho "$i,$count3"cd /usr/local/tomcat/webappsecho "starting update"tar -cf $i-$date.tar $irm -rf /usr/local/tomcat/webapps/$iif [ -d /soft/old/$ ];thenmv $i-$date.tar /soft/old/$ielsemkdir -p /soft/old/$ichmod -R 777 /soft/old/$imv $i-$date.tar /soft/old/$ifiecho "old file already back-up"cd /soft/newmkdir -p /soft/new/$ichmod -R 777 /soft/new/$iunzip -q /soft/new/stw*.war -d $i cp -rf /soft/My-Config/$i/* /soft/new/$i/My-Config/classesmv /soft/new/$i /usr/local/tomcat/webappsecho "new file already up"fidonerm -rf /soft/new/*cd /usr/local/tomcat/binsh catalina.sh start &>/dev/null#find /soft/old/$i -mtime +15 -name "My*" -exec rm -rf {}\;echo "old file already delete"echo "update finish"四. 代碼詳解
后續(xù)繼續(xù)更新
總結
以上是生活随笔為你收集整理的shell编程—tomcat自动发包详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 紫式部
- 下一篇: 落克王国经验计算机,洛克王国宠物经验计算