サーバを載せ替える作業をしているのですが、作業で使用しているシェルとかのメモ。
前提として、新サーバから旧サーバに対してSSHでログインできること。また、両方のサーバにWP CLIが入っているものとします。
ファイルのコピー
#!/bin/sh
rsync -avz --progress --exclude='[除外したいファイルとかディレクトリ]' old_user@old_server.com:/usr/home/hoge/html/ ~/html/
一旦試したいのであれば、 --dry-run
オプションを付けたコマンドを実行すればよいかと思います。
DBのコピー
#!/bin/sh
DIR=`dirname $0`
cd $DIR
DATE=`date +%Y%m%d_%H%M`
FILENAME=~/dump/hoge_${DATE}.dump.sql
ssh intern_old 'cd ~/html/;wp db export -' > $FILENAME
cd ~/html/
wp db import $FILENAME
こっちは前提としてちゃんとwp-config.phpの設定がされていることになります。
上のコピーした直後に実行すると、DBの名前とかが違うとダメなので注意。