WordPressバックアップスクリプト「WP Offsite Backup」をリリースしました

仕事柄「WordPress (ワードプレス) 保守管理サービス – シングスマネジメント」でバックアップ体制をつくったり。
プラグインでバックアップを試してみたり。
そうこうしているうちに WordPress サイトをバックアップするスクリプトをつくっていました。

WordPressバックアップスクリプト「WP Offsite Backup」は、WordPressのファイルやデータベースのデータを Amazon S3 など外部ストレージに遠隔バックアップするスクリプトです。

WP Offsite Backup - GitHub

使い方は簡単

あらかじめデフォルトの設定をして

bash wp-offsite-backup

とコマンドを走らせるだけ。手動でバックアップします。

また、自動で走らせるには、Cron でスケジュールを設定するだけ。

MAILTO=hoge@example.com

20 0 * * * bash /path/to/wp-offsite-backup/wp-offsite-backup

とすると、毎日0時20分にバックアップします。

WordPressバックアップスクリプト「WP Offsite Backup」の特長

  • ワードプレスのファイルとデータベースをバックアップ
  • ストレージサービスにバックアップファイルを保存 (今のところ Amazon S3 だけに対応)
  • Cron で自動バックアップ
  • 設定のカスタマイズでいろいろなバックアップができます
  • バックアップファイルのローテーション
  • ログ履歴の管理

サポートしているストレージサービスは、いまのところ Amazon S3 だけですが、
おいおい Google Cloud Storage や Microsoft Azure Storage などにも対応してみたいと思います。

基本設計は、依存関係の解決やメンテナンスを極力減らすため、
WordPress のプラグイン、WP-CLI などコマンドラインツールに依存せず、
Linux コマンドとストレージサービスのコマンドラインツールだけで済ませるようにしました。
またデータをローカルサーバに残さないようにセキュリティに配慮してみました。

使い方もデフォルトの設定をしたら、コマンドを走らせるだけでバックアップができるを目指してみました。

WordPressバックアップスクリプト「WP Offsite Backup」を導入するには、
いまのところ AWS Command Line Interface などストレージサービスのコマンドラインツールをインストールする必要があるので、
root 権限を持っている VPS やクラウドサーバーに導入に限られてしまいますが、
レンタルサーバーでも動かないかなぁと模索中です。

設定のカスタマイズでバックアップいろいろ

インストールや設定の仕方は、ドキュメントの「Getting Started」を参考にどうぞ。

もちろんバックアップのカスタマイズもできます。

カスタマイズした設定に名前を付けるだけ。

設定も保存して複数持てるので、
WordPressファイルをフィルタリングしたり、
データベースだけバックアップということも。
一つのサーバに複数の WordPress サイトがあっても、
それぞれのウェブサイト用に設定を切り替えてバックアップできます。

その場合のコマンドは、カスタマイズした設定を渡すだけ。

bash wp-offsite-backup customized-config

Cron で自動バックアップも
環境変数 WP_OFFSITE_BACKUP_CONFIG にカスタマイズした設定を渡すだけ。

MAILTO=hoge@example.com

20 0 * * * WP_OFFSITE_BACKUP_CONFIG=customized-config bash /path/to/wp-offsite-backup/wp-offsite-backup

設定のサンプルもあるので参考にしてみてください。

  • db-only-backup-config (データベースだけバックアップ)
  • full-backup-config (フルバックアップ)
  • partial-backup-config (wp-content とデータベースだけバックアップ)
  • wp-content-only-backup-config (wp-content だけバックアップ)

バックアップファイルのローテーションで費用負担を減らす

ストレージサービスをバックアップに利用すると、
いつの間にかバックアップファイルがたくさんできてしまします。
気が付かないでいると、ムダな費用を払うこともあると思います。
バックアップの性格上、何かがあったときの復旧に必要な直近のバックアップファイルだけあれば、
充分済むことが大半だと思います。

ファイルの整理をするには、Amazon S3 だと、ライフサイクルで有効期限を決めて、
その有効期限が切れたならば、ファイルを削除するということを
ストレージサービス側で設定する必要があります。

これはこれで便利なのですが、
できたらファイル数で制限してファイルのローテーションをしたいと思い、実装してみました。

ストレージサービスの課金は、ディスク使用量によって決まるところが大半なので、
ファイルサイズが大容量になりやすいバックアップファイルにとってより大切なこと。

バックアップファイルのファイル数で制限することで費用をコントロールしながらバックアップシステムが構築できます。

是非WordPressバックアップスクリプト「WP Offsite Backup」を試してみてね。

ドキュメント: wp-offsite-backup - GitHub

コメントを残す

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

最近の投稿

カテゴリー

アーカイブ