256bitの殺人メニュー

インフラエンジニアだったソリューションアーキテクトなくわののブログ。こちらのBlogは個人の意見となっていて会社とは全く関係ありません。お約束です。[twitter:@kuwa_tw]めんどくさがりが重い腰を上げて何かをアウトプットすることにどれほどの意味があるのかを試してみたいブログでもある。

rsyncと戯れる

プログラムリリース用にシェルスクリプトを作った。リリース自体は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

*1:ドキュメントがないんだよなぁー。

*2:+, - とパスの間にスペースを入れずに出来ねぇー!って悶えてたのはナイショw