このブログは Mac mini を使ったサーバーで運営しています。
本来サーバーの OS バージョンアップというのはリリースから時が立って慎重に行うべきなのでしょうが、元々個人の勉強ブログだし、トラブルも勉強の一つだよね、ってことでMountain Lion に速攻アップデート。
とはいえ、ブログ自体はバックアップ環境で動かしておきたいです。これを機に、スクリプト一つでバックアップを行うようにしました。
バックアップスクリプト
#!/bin/sh
SSH_KEY=/path/to/id_rsa
TOPDIR=/Library/WebServer/Documents
LOCAL_PERL=/usr/bin/perl
REMOTE_PERL=/path/to/perl
MYSQL=/usr/bin/mysql
MYSQLDUMP=/usr/local/mysql/bin/mysqldump
DB_USER=foo
DB_PASS=bar
# MovableType を構成するファイルを rsync
# SSH でログインしてファイルをコピーする
for i in mt mt-static blog; do
/usr/bin/rsync -e "ssh -i $SSH_KEY" -avz [email protected]:$TOPDIR/$i/ $TOPDIR/$i/
done
# Perl をインストールしているパスが違うのでスクリプトを修正
$LOCAL_PERL -i -ple "s/#!$REMOTE_PERL -w/#!$LOCAL_PERL -w/" $TOPDIR/mt/*cgi
# MySQL をリモートからローカルにバックアップしてリストア
ssh -i $SSH_KEY [email protected] "$MYSQLDUMP -u$DB_USER -p$DB_PASS mt | /usr/bin/gzip" \
| /bin/zcat | $MYSQL -u$DB_USER -p$DB_PASS mt
# 最後に Apache を再起動
/usr/sbin/apachectl graceful
これで完了。DNS サーバーの設定を書き換えると、バックアップ環境での動作が確認できました。
さて、これから Mountain Lion のインストールに入るわけですが、それ自体はあっさり完了。ただ、その後にトラブルに見舞われたので、備忘録として書いていきます。
続く。