プログラムリリース用にシェルスクリプトを作った。リリース自体はrsyncでコピーするようにしました。
その際excludeリストの作り方に微妙にハマり。*1
とりあえずこんな感じで想定どおり動いてます。*2
+ / + /conf/ + /conf/* + /conf/Catalina/ + /conf/Catalina/localhost/ + /conf/Catalina/localhost/* + /common/ + /common/lib/ + /common/lib/** + /webapps/ - /webapps/probe - /webapps/probe/** + /webapps/ROOT/ + /webapps/ROOT/** - **
- /usr/local/tomcat以下の[/conf/以下][/conf/Catalina/localhost/以下][/common/lib/以下][/webapps/ROOT/以下]をrsyncする。
- [/webapps/probe/以下]は対象外。
と言う感じです。
rsyncのコマンド自体はこんな感じ
/usr/bin/rsync -anv -e ssh \ --exclude-from=exclude.list \ /usr/local/tomcat user@ipaddr:/usr/local/tomcat