WordPressのバックアップ・見直し
2年前、このブログを立ち上げた頃に、WordPressのバックアップをNASで行う、という話を書きました。
それから1年が経過した頃、問題なく動いていると思っていたバックアップが時々エラーになっていたことが発覚。その解決法などを書いています。
それからさらに1年弱。
現状の話を書いてみたいと思います。
当時の問題は解消
バックアップがエラーになっていた、というのは、こういう問題。
WordPressが動くサーバで、BackWPupによる圧縮が完了する前に、NASへのアクティブ同期ジョブが動いている、ということかと思ったんですが、そうではなく、BackWPupのバックアップファイル作成中にトラブルが発生していたようです。
当時のバックアップ対象ファイルは、
このログ中にもあるように、圧縮前で 13,101個、1.54GBです。
Zip形式での圧縮で問題が起こっていたようです。
そのため、アーカイブ形式を Tar GZip に変更しました。これで様子見、と書いていましたが、それから約1年。設定変更以降に実行されたバックアップは、エラーが発生することなく完了しています。
直近のログがこれ。
バックアップ対象ファイルは、鉄道模型の動画も数が増え続け、圧縮前で 18,114個、3.43GBとなっています。ファイルサイズは2倍以上になっています。
それでも安定して(エラーの発生も無く)バックアップが出来ているということは、Tar GZipでの圧縮に変更することが正解だった、ということなんでしょうね。
そのバックアップ、必要?
上記のログからも判る通り、ファイルの圧縮に3分を要しています。自分専用のサーバならばともかく、共用サーバのCPUパワーを長時間使用するのは避けるべきですね。
その反省からの提言が「そのバックアップ、必要?」です。
もちろん、バックアップは非常に重要です。バックアップをやめましょう、等とは言いません。
「必要?」と疑問符が付くのは、「変化のないファイルのバックアップ」です。
ブログを構成する、サイズの大きなファイルと言えば動画。次いで画像です。
これらのファイルは、サーバ上で、
/wp-content/uploads/2021/01/ : /2021/12/ /2022/01/ : /2022/12/ /2023/01/
のように、年/月ごとのフォルダに分けられて格納されます(ブログ作成者がフォルダを意識することはありません)。
なので、基本的には、古い年月のフォルダは、バックアップ対象から外す、というのが良いのかと思います。
これらのファイルは、一度公開した後、変更することは稀ですしね。
ただ、少し気になるのは、その該当年月に作成された記事は、その年月フォルダに紐づく、ということ。
WordPressによって自動生成されるサイズ違いのサムネイル画像は、その記事に紐づく年月フォルダに格納されます。なので、バックアップ対象から外した過去の日付のフォルダにも、自動生成の画像ファイルが生成され得る、ということです。これらのファイルは、バックアップされないことになります。
とはいえ、これらの自動生成されるファイルは、次回以降に高速表示するために生成されるサムネイル用画像ファイルですから、サーバに何らかの障害が生じてバックアップファイルをリストアする場合にも、元の画像ファイルさえあれば問題はありません(仮に元ファイルが欠損しても、サムネイルがあれば、そこから復元してくれるらしいですので、バックアップが無駄ではないのかも)。
バックアップ除外への追加
というわけで、2022年12月までの画像・動画ファイルをバックアップ対象から外してみます。
WordPressのダッシュボードから[BackWPup]>[ジョブ]と進み、作成したジョブの「編集」を選択。
[ファイル]タブを開きます。
バックアップするフォルダーをチェックする画面が表示されます。
「uploadsフォルダーをバックアップ」の「除外ページ」にチェックを入れると「バックアップされない」となりますので、2020、2021、2022の各フォルダにチェックを付けるだけで良さそうですね。
例えば、半年以上前のフォルダをバックアップ対象外にしたい、というような高度な設定をしたい場合は、下部にある「バックアップから除隊するファイル/フォルダー」に、除外対象フォルダを並べるしかないのかな、と思います。
しかも、こだわるなら、毎月修正(除外フォルダの追加)が必要になります。
あ。(いま気が付きました)
uploads フォルダー内のサムネイルをバックアップしない。
という設定があったんですね。。
効果のほどは…
設定変更前は、3.4GB もあったバックアップファイルが、500MB程と、非常にコンパクトになりました。
真ん中の50MBのバックアップファイル。実は、設定を間違えて、[2023]まで除外フォルダに設定してしまってました。なので、慌てて手動でバックアップです(笑)
バックアップ対象ファイルは、圧縮前で 7,804個、598.69 MBとなっています。
圧縮に要する時間も、33秒ほどになってます(時間帯が違うので、サーバ負荷も異なるはず。正確には次回の深夜3時に再確認が必要ですね)。
まとめ
サーバ(WordPress)立ち上げ当初にバックアップを設定すると、バックアップファイルのサイズが想像できないために、フルバックアップをしてしまいがち。
今回のように、たまには設定の見直しが必要ですね。
特に共用サーバを使用している場合は、他のサーバへの負荷にもつながりますので、もっと早くに見直すべきだったと反省しています。
2023年を除外していますが、今年の年末には、またバックアップファイルが 2GB を超えることが容易に想像できます。動画・画像ファイルが、3~4ヶ月分溜まったところで、再度見直しをした方が良さそうですね。