最速のWEBサイト移行方法

WEBサイトの制作会社で働いていると、意外と多いのがクライアントのサーバー移行。

これがまた、とにかくめんどくさい。
今のサーバーのデータを全部FTPでダウンロードして、新しいサーバーにアップロード。
その後、CGIとかある場合は全部のフォルダを一つずつ開きながらパーミッションの設定をして・・・
ファイル数が数百程度で少なければ問題ないが、数千単位になるとDL/UPの作業だけで丸一日かかる。


そんな面倒なサイト移行を一瞬で終わらせる方法がある。

UNIXコマンドを使う必要があるので、SSH、もしくはTelnet(今は許可してるサーバーほとんど無いけど)が接続可能な場合による。もし、移行元、移行先のサーバーで使えない場合は、次回のエントリーで書く予定のツールを使ってみて欲しい。

移行元をA、移行先をBとする。
1 AサーバーにSSHで接続。
2 ドキュメントルートディレクトリ(public_html等)に対して下記のコマンドで圧縮を掛けpublic.tar.gzというファイルを作る。
 # tar zcvfp www.tar.gz public_html/
3 http経由で閲覧可能なディレクトリに移動。
 # mv public.tar.gz public_html/


4 BサーバーにSSHで接続。
5 BサーバーのドキュメントルートがあるディレクトリでAサーバーにおいた、public.tar.gzを取得する。
 # wget http://www.hogehoge.com/public.tar.gz
6 圧縮されたファイルを解凍する。
 # tar zxvf public.tar.gz
7 mvコマンドなどを使って、新しいサーバーのドキュメントルートと入れ替える。
8 所有者情報を一括で変更する。
 # chown -R [自分の名前] public_html/

おしまい

サーバー間の回線は、一般回線よりも太い回線が多い上、ファイルを1つに圧縮しているので、とにかく速い。
なおかつ、圧縮時に-pコマンドを追加しているので、パーミッション等の属性も保持したまま移行が出来る。
ファイル数やファイルサイズ、回線にもよるが、一般的なサイトであれば数分で終わると思う。

注意点としては
・移行元のサーバーの容量を確認する(圧縮は、コピー圧縮なので最大2倍の容量が必要になる場合もある)

 
と、まあとにかく楽な移行方法なのだが、一般的な共用レンタルサーバーの場合SSHが使えない事も多い。
そういう時に使えるツールがある。
次回のエントリーでご紹介。