本番に手作業でリリースする際、改修したファイルだけを取り出す。
リリースして問題があった場合に復元するため、バックアップを用意するが、その作業に手間取ったので備忘。
作業内容
登場するディレクトリは3種類
release
- リリースするものが詰まったディレクトリ。
target
のディレクトリ構造に準じている。
- リリースするものが詰まったディレクトリ。
target
- リリース先。
backup
- もしもの備え。
# releaseと同じディレクトリ構造のbackupディレクトリを作る cp -rv release backup find backup -type f -exec rm -v {} \; # release内のファイルパスをもとに、targetからbackupへコピーする for item in $(find release -type f | sed -e 's/^release//g') do cp -v target$item backup$item done
所感
bashでの方法を考える間に手を動かせば終わっただろうけど、次回は楽したいし、手作業でミスらないとは言えないので有意義ということにする。