J2ポータルをアップデートする方法

Jetspeedもいろいろと更新が入ったりするので、既に配備してあるものを更新したい場合、どうしたものかと、悩むこともあるだろう(っていうか、いつも困る)。というわけで、アップデートするスクリプトを簡単に書いてみる(結構、適当なので、参考程度に)。ただ、データベースのスキーマに変更が入ったりすると、これだけじゃ、データを移行しないとダメだと思うけど、まぁ、そこいらはだいぶ落ち着いてきているので、変更はなかなか入らんだろう(入ったら、シリアライザーでエクスポートしてインポートすればいいと思う)。

#!/bin/sh
# ex. $ portal_update.sh jetspeed <NEW_TOMCAT_ROOT> <OLD_TOMCAT_ROOT>
PORTAL_NAME=$1
NEW_PORTAL_PATH=$2
OLD_PORTAL_PATH=$3
echo "Portal Name: $PORTAL_NAME"
echo "New Portal Path: $NEW_PORTAL_PATH"
echo "Old Portal Path: $OLD_PORTAL_PATH"
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/WEB-INF/lib
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/WEB-INF/classes
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/WEB-INF/templates
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/decorations
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/javascript
rm -rf $OLD_PORTAL_PATH/webapps/$PORTAL_NAME/images
for file in `find $NEW_PORTAL_PATH/webapps/$PORTAL_NAME -type f | sed -e "s,^$NEW_PORTAL_PATH/,," \
| grep -v "^webapps/$PORTAL_NAME/META-INF" \
| grep -v "^webapps/$PORTAL_NAME/logs" \
| grep -v "^webapps/$PORTAL_NAME/WEB-INF/pages" \
| grep -v "^webapps/$PORTAL_NAME/WEB-INF/min-pages" \
| grep -v "^webapps/$PORTAL_NAME/WEB-INF/deploy" \
` ; do
BASE_DIR="$OLD_PORTAL_PATH/"`dirname $file`
mkdir -p $BASE_DIR
cp $NEW_PORTAL_PATH/$file $OLD_PORTAL_PATH/$file
done
rm $OLD_PORTAL_PATH/shared/lib/j* $OLD_PORTAL_PATH/shared/lib/p*
cp $NEW_PORTAL_PATH/shared/lib/j* $OLD_PORTAL_PATH/shared/lib
cp $NEW_PORTAL_PATH/shared/lib/p* $OLD_PORTAL_PATH/shared/lib

第一引数に、ポータル名、つまり、jetspeed とか、第二引数が新しいポータルの場所(新しいTomcatルート)、第三引数が今動いているTomcatルート。実行すると、第三引数で与えた既存のポータルが更新される(実行する際には、Tomcatを停止する必要あり)。やっていることは、単純で、jar などなどのファイルの書き換え。ただ、ログやPSMLファイルおよびdeployディレクトリはコピーしない。confやspringのファイルを変更している場合は、上書きされるので、再度、設定する必要あり。まぁ、単純なものですが、参考までに・・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です