この記事は、おおよそ 4分45秒 で読めます。
年明け早々ですが、今週は勤続〇十年ということで付与されるリフレッシュ休暇というお休みをいただきました。営業日で5日間あり、1/10(月)が祝日だったので、1/8(土)~1/17(月)の10連休。年末年始より長いお休みはうれしいのですが、このご時世では遠出というわけにもいかず、おとなしくゲーム三昧・・でも、さすがに後半は飽きてきたのでサイトリニューアルの続きを再開してみました。
Cocoonの本番利用は まだしばらく先
https://tarmino.com/20211123-production-use-of-cocoon-is-still-a-while-away/
結局、サブドメインは2つ登録して本番環境以外の環境として、
- テスト環境
- バックアップ環境
の二つの環境を用意しました。テスト環境は新テーマ、プラグイン導入テストなどいろいろといじるため、バックアップ環境は純粋に本番をバックアップしておくためということで二つ。本番からの移行手順は、
WordPressのテスト環境をつくる
https://tarmino.com/20211112-create-wordpress-test-environment/
こちらで一通り作りましたが、いろいろといじるテスト環境は、いじった後に「WordPress 初期化」というようなことが簡単にできないのか?と思って調べたところ、いつものようにピッタリなプラグインがありました。
Advanced WordPress Reset
https://ja.wordpress.org/plugins/advanced-wp-reset/
WordPressを初期化(リセット)する手順!プラグインを使う簡単な方法を解説
https://www.conoha.jp/lets-wp/wp-reset/
こちらの記事を参考にさせていただきました。ありがとうございます!
これで簡単にぐちゃぐちゃになったらゼロから始めることもできます。ここまではよかったのですが、今回は画像ファイルのコピーでつまづきました・・
Cocoonの本番利用は まだしばらく先
https://tarmino.com/20211123-production-use-of-cocoon-is-still-a-while-away/
ここで利用していた『Xserver のファイルマネージャ』での大量ファイルコピーは、うまくいかないときがあるようです。下記の左はテスト環境、右はバックアップ環境ということで、それぞれ本番環境からコピーしたのですが、画像リンクが壊れているところは、ファイルがコピーされていませんでした。それぞれ結果が異なるので特定のファイルだけがコピーされないというわけでもなく、ブラウザ上で見ていると正常にコピーが終わったように見えるのですが、場合によりコピーされないファイルがあるようです。
こうなったら単にファイルをコピーするだけなので、サーバー(Xserver)上で操作したほうが確実そうです。というわけで、
SSH設定
https://www.xserver.ne.jp/manual/man_server_ssh.php
こちらを参考にサーバーにアクセス。使うコマンドは、
rsyncコマンドでXサーバーにローカルのファイルを同期する
https://penpen-dev.com/blog/rsync-xserver/
こちらを参考にさせていただきました。ありがとうございます!
今までコマンドを使って、Xserver を操作したことはありませんが、昔々 MS-DOS 時代にはコマンド操作もしていましたから同じような感覚で。先の二つの記事を参考にすると書式はこんな感じ。本番環境の画像が保管されているのは、デフォルト設定のフォルダなので仮に下記だとすると、
<コピー元:本番環境>
tarmino.com/●●●/wp-content/uploads
<コピー先:テスト or バックアップ環境>
テスト.tarmino.com/*****/wp-content/uploads
バックアップ.tarmino.com/*****/wp-content/uploads
オプションを付けた書式は、
rsync -auvz <コピー元> <コピー先>
実際に本番環境の uploads の中身を テスト環境の uploads に同期するには、
rsync -auvz tarmino.com/●●●/wp-content/uploads テスト.tarmino.com/*****/wp-content/
本番環境の uploads の中身を バックアップ環境の uploads に同期するには、
rsync -auvz tarmino.com/●●●/wp-content/uploads バックアップ.tarmino.com/*****/wp-content/
コピー元の「uploads」の最後に「/」をつけないのがポイントのようです。
初回だけコピー先の「uploads」フォルダをフォルダごと削除し、全ファイルがコピーされるように実行してみました。約2,500ファイル、サイズ600MBが20秒ほどでコピーできてしまいました。Xserver のファイルマネージャの画面でうまくコピーできるか心配するより断然よいです。次回からは同期を取るようになるので、増えたファイルだけがコピーされるでしょうからあっという間かと。
今後、本番環境からの複製やテスト環境をいじり倒して元に戻したくなったときは、下記のような手順を実施すればよさそうです。
<本番環境>
- プラグインを停止「SiteGuard WP Plugin」
- 「All-in-One WP migration」でサイトデータをエクスポート
- 「SiteGuard WP Plugin」の設定を戻す
<コピー先環境>
- WordPress の初期化「Advanced WordPress Reset」
- 「All-in-One WP migration」を有効化しサイトをインポート
- サイトタイトル変更
- 管理画面を本番環境と異なる色に変更
本番環境と違いをわかりやすくするため
<サーバーファイル操作>
- メディアライブラリフォルダのファイルを同期
サーバにアクセスし、rsyncコマンドで作業
これでサイトリニューアルが進むかも?いや、休みの最後はゲームか・・
コメント