【ワードプレス】バックアップを自動でクラウドとローカルに保存する方法

どうも、私です。

皆さんはワードプレスのバックアップをどのように取っていますか?

先日Googleのツールでサイト表示速度を測定したところ、ゲロみたいな数値で「君のサイト遅すぎワロタw」と宣告を受けたため、バックアップを取ってから改善に着手することに。

ところが、それまでバックアップの設定を特に意識しておらず、私のやりたいバックアップ方式を実現するのに苦労したので、備忘録がてらシェアしときます。

Dropboxに2日分、ローカルにそれ以上のバックアップを保持

私のやりたいバックアップ方式とは、サーバーの外に1週間~できれば30日間くらい保存しておくこと。

サーバー内に保存すると「サーバーが壊れた時にオワテしまうからやめた方が良い」と言われることが多いですが、大体どこのレンタルサーバー会社もデータ復旧サービスを提供しているもんです。

データ復旧サービスを提供している以上、サーバー故障に対応できるような体制は整っているはずなので、サーバー内にバックアップを置くことはあまり問題視していません。

単純に容量を食うのが嫌なのでサーバー外に置きたいというだけです。

でもそうすると色々と悩み事が出てきたりするんですね~。

サーバーの外ってことはクラウドストレージが簡単だと思いますけど、いかんせん無料じゃ容量が全然足りなくて1週間分保存できるかどうかすら怪しい。。。

悩んだ結果、Dropboxに2日分だけ保存して、ローカルにそれ以上のデータを保存する方法に落ち着きました。

以下、そのやり方。

UpdraftPlusの設定

まずはバックアッププラグインの説明をします。使うのはUpdraftPlus。

バックアッププラグインはBackWPupが有名ですけど、復旧させるのが非常に手間で難しいらしいので、復旧が簡単と評判のUpdraftPlusを採用しました。

インストールして有効化します。

設定タブをいじっていきます。

バックアップのスケジュールをお好みで変更しましょう。

文面通りなら「ファイルのバックアップスケジュール」はワードプレス本体やデザインなど器の部分で、「データベースバックアップのスケジュール」は記事データなど中身の部分となります。試してないので正確には分からず(白目)

ファイルを少なめ&データベースを多めに保持するか、両方同じで良いと思います。私は両方とも毎日保存で2日保持にしました。

保存先にDropboxを選択。以降Dropboxで解説しますが、Dropboxを使いたくない場合、グーグルドライブなどローカルフォルダと同期できるクラウドサービスであればなんとなく理解できると思います。

Dropboxの容量が初期状態で2GBしかないので、バックアップ2日分しか保持できなかったのが後悔・・・。正直グーグルドライブにしとけば良かった。

バックアップするファイルは全部チェック。

変更の保存。

Dropbox側の認証をお願いされるので、クリックして認証します。

(要求されたらDropboxにログインして)Complete setup。

このタイミングで勝手にバックアップが走って、今の時間を基準に毎日保存してくれるようになるっぽいです。

設定タブのDropboxのところが(あなたはすでに認証されているようです。)となっていれば完璧。

Windows側の設定

さて、ここからはDropboxクラウドのデータをローカルに持ってくる設定。

Dropbox公式サイトからDropboxをインストールします。

基本設定 > 同期タブにある、Dropboxフォルダの場所を確認。

このフォルダがクラウド上のデータと同期します。

同期できていればDropbox > アプリ > UpdraftPlus.Comフォルダの中にバックアップファイルがあるはず。(1日分だと5ファイルか6ファイル?)

バッチファイル作成

クラウド上のデータが消えると当然このファイルも消えてしまうので、ローカルにコピーするバッチファイルを作成します。

最初にバックアップファイルの保存先フォルダを作りましょう。(例:「D:\wpbackup」)

新規でメモ帳を開いて、何も書かずlogfile.txtという名前でフォルダ内に保存します。これはバックアップのログが記載されていくファイル。

同様に新規でメモ帳を開いて、

robocopy {コピー元フォルダ} {コピー先フォルダ} /E /LOG:{ログファイル} /R:5 /W:1 /TEE

と記述して拡張子をbatに変え保存します。(名前は適当)

私であれば

robocopy D:\Dropbox\アプリ D:\wpbackup /E /LOG:D:\wpbackup\logfile.txt /R:5 /W:1 /TEE

とかですね。

この記述は「D:\Dropbox\アプリのフォルダをサブフォルダも含めてD:\wpbackupにコピーします。コピーに失敗したら1秒待機して再試行を5回まで繰り返します。ログはD:\wpbackup\logfile.txtに書きます。」という意味。

保存出来たらダブルクリックして実行してみましょう。

保存先フォルダにUpdraftPlus.Comフォルダが生成されていて、

中身にバックアップファイルがコピーされていれば成功です。

もしDropboxを普段から使っていて「アプリ」フォルダにバックアップファイル以外が存在するなら、{コピー元フォルダ}を

D:\Dropbox\アプリ\UpdraftPlus.Com

という具合に、UpdraftPlus.Comフォルダまで含める形すれば対応できます。バッチファイルはこれで完成。

この件ではじめてrobocopy使ったから変な記述になってても許してな・・・(‘ω’;)

タスクスケジューラに登録

続いて、このバッチファイルを自動的に走らせる設定。

タスクスケジューラを開き、「タスクの作成」。

名前はお好みで、「ユーザーがログオンしているかどうかにかかわらず実行する」「最上位の特権で実行する」にチェック、構成を自身のPCのOSに。

チェックはよく分からんのでまず間違いなく動くような設定にしてます。

トリガータブの「新規」。

タスクの開始 ⇒ イベント時、ログ ⇒ システム、ソース ⇒ Power – Troubleshooterで「OK」。

本来は時間を決めて毎日実行するのが望ましいんでしょうけど、その時間にPCを起動してるとは限らないので辞めました。

また、私はPCを閉じる時にシャットダウンせず休止状態にするので「ログオン時実行」にしたかったものの、タイミングを「ログオン時」にして何度ログオンしても処理が走らなかったので、仕方なく上記イベント時に。苦肉の策です。

上記イベントはスリープから復帰した時などにも発生するようです。

操作タブの「新規」。

参照 ⇒ 作成したバッチファイルを選択して「OK」。

ノートパソコンでバッテリ稼働時にも発動させたいなら条件タブからチェックを外しましょう。そして「OK」。

PCアカウントのパスワード入れて「OK」。

これでバッチファイルが自動的に走るようになりました。完成!

後は「〇〇日以上前のファイルは削除する」というバッチファイルも走るようにすれば良いんですけど、まあ気が向いたときに手動削除すれば良いかな、という思いで手を付けておりません。

中途半端なトコで終わりますが、参考になりましたら幸いです(‘ω’;)