WordPressのバックアップをNAS(QNAP)で取得する
WordPressのバックアップを取る記事を書きましたが、その最後の章に
定期的にファイルをローカルPCにダウンロードしてやれば、サーバ上に何世代残せばいい?、と考える必要もなくなります。
WordPress のバックアップ
と書きました。
この記事を書いたときは、普段、WordPressの編集にも使用しているノートPCで、FTP接続してサーバからバックアップファイルをダウンロードすることを想定していましたが、人間って面倒くさがりなので、忘れちゃうんですよね。そういうことって。
タスクスケジューラで定期的に自動処理する、というアイデアもなくはないですが、指定した時間にPCを立ち上げているという保証もなく、どうすれば確実か、と考えているときに浮かんだのが、NASが勝手にサーバからバックアップファイルを取得してくれれば楽なんじゃない?と。
サーバからNAS(QNAP)への自動バックアップ
ローカルネットワーク上のNAS(QNAP)で、RTRRサーバを立ち上げてバックアップを取る、という記事を書きました。
これを応用して、サーバからNASにファイルを送り込めないか、と考えたんですが、サーバはroot権限をもらっているわけでもなく、club-cavalier.comの方はともかく、tyr-widely.comの方は、cron処理もできません。
で、QTSのアプリHBS3(Hybrid Backup Sync)を見ていると、同期ジョブの作成の中に、

「アクティブ同期ジョブ」というのが目に留まりました。
双方向同期ジョブ・一方向同期ジョブは、ソースがNAS(自分自身)ですが、アクティブ同期ジョブは、ソースを外部に設定することが出来ます。外部のデータと、NAS(自分自身)の同期を取る処理ができます。
その「外部」には、

リモートNASの他、クラウドサーバーもありますし、「リモートFTPサーバー」の文字が見えます。これが使えそうです。
リモートFTPサーバーの設定

リモートFTPサーバーを選択し、名前、IPアドレス/ホスト名、ユーザー名、パスワードを設定します。
少しだけ画面を下にスクロールすると、「テスト接続」というボタンが見えます。

テスト接続:成功 と表示されれば、もう大丈夫です。
「作成」をクリックして、リモートサーバーの設定を終了します。

同期ジョブの設定
サーバーの設定(アカウント)が作成されていること、選択されていることを確認して「選択」ボタンをクリックします。

ジョブ名を記載した後、ペアリングするフォルダを設定します。

WordPress のバックアップ にも記載した通り、サーバ上に、データベースのバックアップと、ファイルバックアップの2種類のフォルダが出来ているので、まずはファイルのバックアップに指定したフォルダを選択します。

次に、NAS側で、作成しておいたフォルダを選択します。(事前に作成しておかなくても、新規フォルダを作成したい場所を選択の後、四角の中にフォルダ名を入力し、右にあるフォルダ追加アイコンをクリックすることでフォルダ作成は可能です)

同様に、データベースのバックアップフォルダをサーバ側、NAS側に指定して「次へ」

同期のスケジュールを設定します。

BackWPupで、バックアップ時間を3:00と設定していますが、実際にバックアップされる時間には結構なばらつきがあるので、多少の余裕を見て毎日6:00と設定しました。
毎日バックアップされるデータベースに対して、ファイルは週に一度のバックアップ作成となりますが、NASの同期処理は差分のみ更新するため、特に気にしなくても大丈夫です。

次に、ルールの設定です。が、特に設定を変える必要もないと思います。

念のため、「ポリシー」を確認してみてください。
「ターゲットフォルダ内の追加ファイルを削除します」にチェックが入っていると、サーバ側のバックアップファイルが世代管理で削除されると、同期してNAS側のファイルも削除されます。
チェックが入っていないと、サーバ側のファイルが削除されても、NAS側は残ります(残るはずですが、まだ未確認です。もしも削除されたならば、記事を修正させて頂きます)。2/13 確認済み

「要約」の画面で、設定の確認を行い、「作成」ボタンクリックで設定の完了となります。
同期の実行と確認

自動実行される翌日を待ってもいいのですが、「今すぐ同期」をクリックしてみましょう。

同期が始まります。

まだ、バックアップファイルが少ないので、あっというまに完了です。

このように、指定したフォルダにバックアップファイルが同期されていることが確認できました。
権限を適切に与えてあげれば、PCから参照することも可能になります。
これで、サーバ側に残す世代数を少なく出来そうですね。