bash – 本番サーバーに差分ファイルを上書きする前に該当ファイルだけ抽出してバックアップを取る

高瀬 裕介 62views 更新:2015年1月23日

デプロイが仕組み化されていないレガシーなサーバーを運用していて cgiを複数箇所変更するとき、ドキュメントルートをまるごとバックアップできれば 安全ですが、ファイル数が多すぎてなかなか難しいこともあると思います。

開発環境で予め上書きするファイルが抽出されている場合は、 下記の方法で上書きされるファイルだけ抽出してバックアップを取る事ができます。

万が一の際はbackupフォルダ以下のフォルダを上書きコピーするだけで差し戻せます。

# /path/from/my_app に差分ファイルがあって、/var/www/cgi-bin/my_appに本番のファイルが置いてある前提
cd /path/from
for LINE in `find my_app -type f -print`; do \
mkdir -p backup/`dirname ${LINE}`; \
cp -fpv /var/www/cgi-bin/${LINE} backup/`dirname ${LINE}`; \
done

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません