MovableTypeなblogを別サーバーに移行させる 【その2】

投稿日:

昨日の続き。

まず、スクリプトの修正。mysqldumpにオプションを一個追加です。

#!/bin/bash
mysqldump -u USERNAME --password=PASSWORD DATABASENAME --no-create-db --add-drop-table $1 > ./$1.sql

何度かリハーサルして気付いたんですが、いちいち既存のテーブルを消すってのが面倒くさい。一回こっきりの作業なら別にどうでもいいんだけど。
そこでdump取得時に--add-drop-tableオプションを付けると、create tableが

DROP TABLE IF EXISTS mt_author;
CREATE TABLE mt_author (
author_id int(11) NOT NULL auto_increment,

という感じで出力される。これなら移行先でテーブルをいちいち消さないで済むので楽ちん。詳細はマニュアルを参照。


テンプレートはローカルでバージョン管理しているものをエディタ上で一括置換して対応することにした。というのも今のblogはテンプレートの一部にSSIを使っているので移行先でそのままじゃぁ動かない。(拡張子を.shtmlにしないといけない)それはそれでかっこわるいから嫌だし。どうせエディットしないといけないのなら今のうちに編集作業を完了させておこう、と。
これでテンプレートのテーブルに関してはdumpデータで移行する必要が無くなったので、targetTablesからmt_templateの行を削除してしまい、バックアップ的にリハーサルで使ったdumpデータを保持しておくことに。
# 一応、移行元と移行先の両方で。念の為。


それから昨日のスクリプトの末尾にscpコマンドを追加。固めたアーカイブを新サーバーへ転送するまでを1アクションで実行できるようにしてみた。


ところでdumpデータだけなら転送するのは一瞬で終わるけど、問題は画像ファイルだなぁ。。
116MBもあるよ・・・・。