「BackWPup」のバックアップをWP-CLIでスケジュール実行する方法

先生

WordPress でバックアップを取るための人気プラグイン「BackWPup」は、管理画面から色々な方式でスケジュール実行させられる機能が大きな魅力の一つじゃ。

生徒

それは便利だね。

先生

さら、ワードプレスをコマンドライン操作できるツール「WP-CLI」を使うと、自分の思い通りにバックアップ処理をスケジュール実行させるなんてこともできる。

生徒

それはさらに便利だねー。

BackWPup、WP-CLIのインストール

以下の説明は、事前に BackWPup 、WP-CLI ともインストール済みであることを前提とします。

それぞれの詳しいインストール方法については省略しますので、下記ページを参照してください。

BackWPupのスケジュール設定

お使いの環境に合わせて、BackWPup の Job を登録しておいてください。

一つ気をつける点として、Schedule の設定を「manually only」にしておいてください。

BackWPupのスケジュール設定

WP-CLIでBackWPupを操作する方法

backwpup/inc/class-wp-cli.php の BackWPup_WP_CLI クラスには、WP-CLI から BackWPup を操作するためのメソッドが用意されていて、次のようなことができるようになっています。

  • start():Job を起動する
  • abort():Job を停止する
  • jobs():Job を一覧表示する
  • working():Job の実行状況を表示する

例えば、wp backwpup jobs のようにコマンドを実行すると、Job の一覧が表示されます。(ここで表示される Job ID をスケジュール実行時に指定します。)

$ wp backwpup jobs
+--------+--------+
| Job ID | Name   |
+--------+--------+
| 1      | backup |
+--------+--------+

wp backwpup working のようにコマンドを実行すると、実行中の Job が表示されます。(下記は実行中のものが無かった時の例です。)

$ wp backwpup working
Error: No job running

下記のように、start のオプションに Job ID を指定すると、そのジョブのバックアップ処理を直ちに実行することができます。( [Job ID] は実際のIDに置き換えてください。)

$ wp backwpup start [Job ID]

WP-CLIをcronでスケジュール実行する

cron に バックアップ処理を実行する WP-CLI コマンドを登録しておけば、スケジュール実行させることができるようになります。

次の設定は、0時5分にスケジュール登録する例です。

5 0 * * * cd /path/to/wordpress; /usr/local/bin/wp backwpup start [Job ID]

実際に動作確認してみて、ちゃんと設定通りにバックアップファイルが作られているかどうか確認してみてください。

参考URL