日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell编程—tomcat自动发包详解

發布時間:2023/12/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell编程—tomcat自动发包详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

tomcat是我們日常使用的java容器,常作為web服務器和Nginx配合使用,運維工程師需要經常發布更新包,而使用shell腳本可以實現高效安全的發包,這以我虛擬機環境來編寫。

一. 需求

  • 上傳war1文件到/soft/new目錄下
  • 將/usr/local/tomcat/webapps文件中相應的文件壓縮備份到/soft/old中,備份文件要以當前時間為名稱,比如My-111-2018-11-13-1408,并且在/soft/old中區分每個項目的備份文件
  • 將/soft/My-Config中的配置文件替換進入war1
  • 將替換好的war1文件更換名稱為項目名稱,比如My-111,并解壓放入webapps中
  • 刪除舊文件
  • 注意要寫出相應的狀態
  • 二. 思路

  • 手動上傳war1文件到/soft/new目錄下
  • 檢查tomcat是否在運行,如果運行,則需要停止
    這里需用if條件語句來判斷
  • 檢測我上傳文件的名稱,并且在webapps中找到相應的包用現在的系統時間命名壓縮備份,在/soft/new中新建一個文件夾以上傳文件為名稱,并將配置文件復制到其中去。
  • 刪除以前的文件
  • 啟動tomcat
  • 注意:雖然看起來簡單,但是要想用shell來實現還是有一定難度,要考慮周全各種因素,難點在于兩個檢測,檢測tomcat是否運行以及檢測文件名稱,擅用if語句和for循環實現,變量編寫,注意文件權限。

    三. 腳本代碼

    #!/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"

    四. 代碼詳解

    后續繼續更新

    總結

    以上是生活随笔為你收集整理的shell编程—tomcat自动发包详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。