WordPressでブログやサイトを運用している方向けの記事です。
時間を掛けて育てたブログなのに、間違えて記事を消してしまった!とかレンタルサーバーに障害が起きてファイルが全部消えた!なんて話をたまに聞きます。
1記事くらいであれば思い出してまた書けばいいやと割り切れますが、数十、数百とページ数が多ければ涙モノです。さらに収益があがってたサイトなら生活に支障がでる甚大な問題になります。そのためWordpressのバックアップは可及的速やかに取得すべき事項です。
WordPressでバックアップを取る場合、Wordpressを構成する以下のファイル(ざっくり4つに分類しました)を取得しておけば問題ありません。
- 投稿した記事(データベース保存)
- カスタマイズしたPHPやCSSなどのファイル
- WordPress管理画面で設定した内容やプラグインの設定
- アップロードした画像ファイル
これらのファイルを全て定期的に手動で取得するのはなかなか手間の掛かる作業なので、Wordpressのプラグインを使って自動で定期的に取得するようにしておきましょう。
レンタルサーバーのサービスにバックアップサービスがありますが有料だったりするので、今回はBackWPupという無料のWordpressのプラグインを使って取得する方法をご紹介します。Wordpressでブログやサイトを運用している人は必須のプラグインです。
プラグインの新規追加でBackWPupをインストール
左メニュー「プラグイン」から「新規追加」を選択し、BackWPupを検索しインストールして有効化してください。
※2017年9月時点ではVer.3.4.3が最新のようです。
プラグインの画面で以下の通りなっていればOKです。
新規のジョブをつくる
プラグインを有効化したらまず左メニューから「新規ジョブを追加」を選択して新規ジョブを作ります。
「一般」タブでは以下の2項目を修正しましょう。
①このジョブの名前・・・分かりやすい任意の名前をつけてください。私はフルバックアップという名前にしました。
②バックアップファイルの保存方法・・・取得したバックアップファイルをどこに保存するかです。2重化という観点でいうとDropBox等外部のストレージに保存した方がより安全になりますが、私はひとまず同一サーバー内のフォルダである「フォルダーへバックアップ」を選択しました。
上記以外はデフォルトのままでよいと思います。
「スケジュール」タブでは以下の2項目を修正しましょう。
①ジョブの開始方法・・・WordPressのcronを選びましょう。※cronとは時間指定でバックアップなどの決まった処理を起動する方法のことです。
②スケジューラー・・・ここにバックアップを取るスケジュールを入力します。今回は1週間に1回としました。バックアップ中はサーバーの負荷が高まる可能性もあるのでアクセスが少ない時間に設定しましょう。
アクセスが少ない曜日と時間帯はGoogleアナリティクスのホーム画面で確認できます。
アナザーライフのサイトは土曜日の午前4時が最もアクセス数が少ないことが分かりましたのでバックアップの起動時間を土曜の午前4時に設定します。
土曜日の朝4時にバックアップを取るので、もし土曜日の朝3時にサーバーのファイルを損失してしまった場合、前回バックアップ取得した1週間前の土曜の4時から当日の分のファイルは消失されることになります。毎日高頻度で記事を更新している方は、フルバックアップの他に投稿記事だけ取得する負荷の軽いジョブを作成して毎日夜間や早朝にバックアップを取得することをお勧めします。
「DBバックアップ」タブでは以下の1項目を修正しましょう。
①バックアップファイルの圧縮・・・GZipを選びましょう。※GZipとは圧縮方法のことです。バックアップファイルは記事数やアップロードした画像数などにより大容量になることが想定されます。Gzipで圧縮することで多少バックアップファイルのサイズを小さくすることができます。
上記以外はデフォルトのままです。
「ファイル」タブです。
ここではバックアップから除外するフォルダを指定することができます。例えば、Wordpressインストール時に自動でついてくるtwentyシリーズのテーマは必要ないのでバックアップから取得対象外に指定します。(そもそもテーマファイルごと削除すればいいだけの話ですが。)
参考:テーマのバックアップ・・・不要なフォルダを選択します。
「プラグイン」タブでは全てデフォルトのままとしました。
「宛先:フォルダー」タブでは以下の2項目を修正しました。
①バックアップを格納するフォルダー・・・デフォルトのままでも問題ないのですが、私はWordpressインストールディレクトリと同階層にbackupというディレクトリを作成し、そちらを指定するようにしました。
②ファイルを削除・・・バックアップファイルを何世代保持するかです。直近1世代で充分なのですが念のため3世代(3週間前まで戻せる)分のバックアップファイルを保持するようにします。上述しましたが、バックアップファイルは容量が大きくなる可能性があります。何十ファイルも保持しているとサーバーの容量を食いつぶす可能性があるので注意が必要です。
ここまで修正したら「変更を保存」を押して下さい。
実行してみる
ジョブは出来ましたが起動するのは次の土曜の明朝4時ですので、テストで今すぐ実行してみます。左メニューのジョブを選択し、自身で名付けたジョブ名の今すぐ実行を押して下さい。
エラーなくバックアップの処理が完了すればOKです。
私の場合、backupフォルダに以下のファイルが作成されていました。
.donotobackupはこのフォルダはバックアップ対象外であることを明示しているファイルでindex.phpと.htaccessはこのディレクトリに外部からアクセスさせないための設定ファイルです。2017-10-07_15-44-01_ZLIABBFF01.zipがお目当てのバックアップファイルになります。428.7MBとなかなか大きなファイルサイズですね。
※backwpup_log_****というファイルはログファイルです。今回の手順ではこちらに出来ません。左メニューの設定からログファイルの出力先を変更できます。
注意事項
ロリポップのレンタルサーバーを使用している場合、バックアップ中に警告が出る場合があります。
警告: ファイル”/home/***/wp-admin/install.php”が読めません !
これはロリポップのWordPressセキュリティ強化の1つで、install.phpのパーミッションを「000」に変更したことが原因で出る警告です。ファイルのパーミッションが000だとBackWPupがinstall.phpを読み込めなくなるのです。
対処策としては、ほっといても問題はありませんが、警告がでてバックアップ処理時間が長引くのも嫌なのでinstall.phpを削除しても問題ありません。
install.phpはWordPressインストール時に必要なファイルでインストールした以降は不要なファイルですので削除しても問題ありません。念のためinstall.phpのバックアップをPCに落としておいて削除しましょう。wp-adminフォルダの中にあります。
最後に
以上でバックアップの設定は完了ですが、設定した通りに本当に動いているかを確認した方がよいです。確認ポイントは以下の3つ。
- 指定した時間にバックアップが動作しているか
- 4ファイル以上保持していることはないか
- バックアップしたファイルでリストアできるか
1はログや管理画面から確認ができます。2は4日目以降に管理画面等に確認して4ファイル以上になってないかを確認することで可能です。3は面倒くさいですが、ローカルのPC等にWordpressを入れてリストア(バックアップファイルで再構築)できるかを確認することで可能です。
皆さんが書いた記事は大事な資産ですので、しっかりバックアップして資産を守るようにしましょう。