2009/10/17

ec2-bundle-volのexclude

EBSでマウントしているディレクトリを除外してAMIをbundleしたかったので、自作のバッチスクリプトにその処理を追加しているところ。

内部でrsyncを使っているようなので、ec2-bundle-volの-eオプションにもワイルドカードというかglobパターンが渡せるのかと思いきや、ec2-bundle-volの内部で"*"が展開されてしまってどうにもうまくいかない。

やりたかったことは、"/mnt/point1/...."の/mnt/point1はディレクトリとして残しつつ、point1/の中身は含まないというexcludeオプションの実現。

ec2-bundle-volに渡したexclude指定が適切にrsyncに渡っているなら、-e '/mnt/point/*'のような感じで行くはずなのだけれど。

そこでどうしようもなくかっこ悪く、ec2-bundle-volを呼ぶバッチスクリプト側で、"*"を展開して渡してやる羽目に。


"-e '#{Dir.glob('/mnt/point1/*').join(',')}'"


さらに、ec2-bundle-volは複数個の"-e"オプションを受け付けないことが判明。。。これはひどい。

Comments: コメントを投稿



<< Home

This page is powered by Blogger. Isn't yours?