練功房推薦書單

  • 黑心建商的告白:買屋前不看會哭的17堂課
  • 黑心房仲的告白:買屋簽約前最後救命的17堂課
  • 黑心投資客炒房告白:搞懂中古屋坑錢陷阱的17堂課
  • 猛虎出閘制霸版:最新OCP Java SE 6 Programmer專業認證(附原始程式碼及範例檔)
Tomcat 6版本升級自動化程式  XML
Forum Index » Tomcat
Author Message
andowson

六段學員
[Avatar]

Joined: 2007-01-02 22:20:40
Messages: 662
Location: 台北
Offline

Tomcat 6沒有common這個目錄,所以我修改了一下原本的版本升級自動化程式

簡單來說,前一版的Tomcat安裝的樣子
/var/apache-tomcat-6.0.29
/var/tomcat6->/var/apache-tomcat-6.0.29
/var/webapps
新版的Tomcat要安裝成
/var/apache-tomcat-6.0.30
/var/tomcat6->/var/apache-tomcat-6.0.30
/var/webapps(不動)

tomcat6-upgrade.sh:
#!/bin/bash
# Name: Tomcat 6.x auto-upgrade installer
# Author: Andowson Chang (andowson [at] gmail [dot] com)
# Version: 1.7
# Since: 2006-04-30
# Last Modified: 2011-01-31
#
# check the installed version of Tomcat 6.0
#
OLD_VERSION=`ls -l /var | grep tomcat6|awk '{print $11}'|cut -d "-" -f3`
#
# check the latest stable version of Tomcat 6.0
#
wget http://tomcat.apache.org/whichversion.html -q -t 1 -T 5 -O /tmp/tomcat.html
if [ -s /tmp/tomcat.html ]; then
   TOMCAT_VERSION=`grep "6\.0\." /tmp/tomcat.html|grep -v "6\.0\.x"|cut -d">" -f2|cut -d"<" -f1`
fi
rm -rf /tmp/tomcat.html

echo "Install Tomcat ${TOMCAT_VERSION}"
if [ ! -r apache-tomcat-${TOMCAT_VERSION}.tar.gz ]; then
   wget http://apache.ntu.edu.tw/tomcat/tomcat-6/v${TOMCAT_VERSION}/bin/apache-tomcat-${TOMCAT_VERSION}.tar.gz
fi
tar zxvf apache-tomcat-${TOMCAT_VERSION}.tar.gz -C /var
cp /var/apache-tomcat-${OLD_VERSION}/bin/setenv.sh /var/apache-tomcat-${TOMCAT_VERSION}/bin

#
# find out old jar files that you put in lib yourself
#
if [ ! -r apache-tomcat-${OLD_VERSION}.tar.gz ]; then
   wget http://apache.ntu.edu.tw/tomcat/tomcat-6/v${OLD_VERSION}/bin/apache-tomcat-${OLD_VERSION}.tar.gz
fi
tar zxvf apache-tomcat-${OLD_VERSION}.tar.gz -C /tmp
ls -sort /tmp/apache-tomcat-${OLD_VERSION}/lib | awk '{print $9}' > /tmp/dist.txt
ls -sort /var/apache-tomcat-${OLD_VERSION}/lib | awk '{print $9}' > /tmp/installed.txt
comm -23 /tmp/installed.txt /tmp/dist.txt > /tmp/jarlist.txt
rm -rf /tmp/apache-tomcat-${OLD_VERSION} /tmp/dist.txt /tmp/installed.txt
#
# copy old jar files into new lib directory
#
for file in `cat /tmp/jarlist.txt`
do
   cp -p /var/apache-tomcat-${OLD_VERSION}/lib/${file} /var/apache-tomcat-${TOMCAT_VERSION}/lib
done
#
# copy logging jar files into new lib directory
#
wget http://apache.ntu.edu.tw/tomcat/tomcat-6/v${TOMCAT_VERSION}/bin/extras/tomcat-juli.jar -O /var/apache-tomcat-${TOMCAT_VERSION}/lib/tomcat-juli.jar
wget http://apache.ntu.edu.tw/tomcat/tomcat-6/v${TOMCAT_VERSION}/bin/extras/tomcat-juli-adapters.jar -O /var/apache-tomcat-${TOMCAT_VERSION}/lib/tomcat-juli-adapters.jar

service httpd stop
service tomcat stop
rm -rf /var/tomcat6
ln -s /var/apache-tomcat-${TOMCAT_VERSION} /var/tomcat6
service tomcat start
service httpd start


附檔是Linux上自動化更新的程式,下載附檔儲存到/root/setup/web下,並修改權限為755可執行,然後以root身份執行即可。
 Filename tomcat6-upgrade.sh [Disk] Download
 Description Tomcat 6.x auto-upgrade installer
 Filesize 2 Kbytes
 Downloaded:  25 time(s)

This message was edited 4 times. Last update was at 2011-02-01 02:11:04


分享經驗 累積智慧
[WWW] [MSN]
Enix

十級學員

Joined: 2009-12-30 08:28:13
Messages: 1
Offline

感謝分享~
但這要給ubuntu或debian用, 還得做些修改吧?
andowson

六段學員
[Avatar]

Joined: 2007-01-02 22:20:40
Messages: 662
Location: 台北
Offline

Enix您好,我沒用過unbuntu和debian,您可以自己測試看看。

分享經驗 累積智慧
[WWW] [MSN]
 
Forum Index » Tomcat
Go to: