自宅サーバ × さくらインターネットで作る

WordPressミラーサイト構築手順(cron自動同期)

概要

本記事では、

  • 自宅Linuxサーバを本番
  • さくらインターネットをミラー(待機系)

として、
WordPressを自動同期する冗長構成を構築する手順を紹介します。

災害・回線障害・メンテナンス時に
即座にミラーへ切り替え可能な構成を目的としています。


全体構成図(論理)

[ 本番:自宅Linux ]
  ├ WordPress ( /var/www/stg1 )
  ├ MySQL (wordpress)
  └ cron
        │
        ├ mysqldump(DBバックアップ)
        ├ gzip(圧縮)
        └ rsync / scp(ファイル同期)
              ↓
[ ミラー:さくらインターネット ]
  ├ WordPress(閲覧・検証用)
  └ MySQL(mwakisaka1975_wp_mirror)

手順1:本番WordPressの確認

ApacheのDocumentRoot確認

grep -R "DocumentRoot" /etc/httpd/conf /etc/httpd/conf.d

本記事では以下を本番とする。

/var/www/stg1

手順2:本番DBのエクスポート

wp-config.phpでDB情報を確認

grep -E "DB_NAME|DB_USER|DB_HOST" /var/www/stg1/wp-config.php

mysqldump実行

mysqldump -h localhost -u wpuser -p wordpress > /root/wp_prod.sql
gzip -9 /root/wp_prod.sql

手順3:さくら側WordPress準備

  • WordPressを新規インストール
  • DBを作成(例)
    • DB名:mwakisaka1975_wp_mirror
    • ユーザー:同名
  • wp-config.php をさくら用に修正

手順4:DBインポート(ミラー側)

  1. phpMyAdmin で 既存テーブルをすべて削除
  2. wp_prod.sql.gz をインポート

手順5:URL差し替え(重要)

wp_options の以下2項目を変更

  • siteurl
  • home
UPDATE wp_options
SET option_value='https://mwakisaka1975.sakura.ne.jp/wakisaka-security'
WHERE option_name IN ('siteurl','home');

手順6:SSH公開鍵認証設定

本番サーバで鍵作成

ssh-keygen -t ed25519

公開鍵をさくら管理画面に登録

cat ~/.ssh/id_ed25519.pub

手順7:ファイル同期(rsync)

手動確認

rsync -avz --delete \
/var/www/stg1/ \
mwakisaka1975@www1359.sakura.ne.jp:/home/mwakisaka1975/www/mirror/

手順8:cronで自動同期

同期スクリプト作成

/root/bin/sync_mirror.sh

#!/bin/bash
SRC="/var/www/stg1/"
DST="mwakisaka1975@www1359.sakura.ne.jp:/home/mwakisaka1975/www/mirror/"
LOG="/var/log/rsync_mirror.log"

rsync -avz --delete \
  -e "ssh -o BatchMode=yes -o StrictHostKeyChecking=accept-new" \
  "$SRC" "$DST" >> "$LOG" 2>&1
chmod 700 /root/bin/sync_mirror.sh

cron登録(毎日3:10)

crontab -e
10 3 * * * /root/bin/sync_mirror.sh

注意点(重要)

  • ❌ wp-config.php は同期しない
  • ❌ ミラー側でプラグイン更新しない
  • ✅ ミラーは閲覧・検証専用
  • ✅ 本番が落ちたらDNS切り替えで復旧

まとめ

  • 自宅サーバでも 実用的な冗長構成は可能
  • cron+SSH鍵+rsyncで 完全自動化
  • 災害・障害時の保険として非常に有効

この構成が向いている人

  • WordPressを自宅運用している
  • クラウド費用を抑えたい
  • 自分で構成を理解したい
  • 「落ちたら終わり」を避けたい

\ 最新情報をチェック /

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です