BackWPupによるWordPressのバックアップとRcloneによるNASとの同期

公開 | 更新 

ロリポップサーバのWebDAVと相性悪いSynology NAS

BackWPupプラグインのバックアップファイルはWebサーバ上に保存されているので、このままではサーバ障害時に活用することが出来ません。Webサーバとは異なる場所に保管するべく、日頃愛用しているSynology NAS DS212Jへの同期転送を考えてみます。

SynologyのNASにはさまざまなオンラインストレージサービスとファイル同期することの出来る、Cloud Syncというアプリが用意されています。当初、WebサーバのWebDAVを同期先としてこのCloud Syncを使おうと試行してみましたが、

図15.Cloud Sync プロバイダ選択

図15.Cloud Sync プロバイダ選択

図16.Cloud Sync アカウント設定

図16.Cloud Sync アカウント設定

接続されてルートディレクトリは表示されるのですが、そこからサブディレクトリへ行こうとするとかたまります。別途、Ubuntu 18.04のNautilusでもWebDAVを試してみますが、またしてもサブディレクトリへの移動で「301 Moved Permanently」になってしまいます。

図17.Cloud Sync サブディレクトリへ入れず

図17.Cloud Sync サブディレクトリへ入れず

Windows 10のエクスプローラからは問題無く使えるので、ロリポップサーバのWebDAVが全く使えない、と言うわけでもなく、むしろLinux系とのWebDAVはあまり想定していないのかも知れません。

 

RcloneをSynology NASにインストール

ロリポップのライトプランではsshも使えないので、WebDAV以外でファイル転送として残されているプロトコルはFTPのみ。但し、Synology Cloud SyncはFTPをサポートしていないので、両者をFTPで同期転送する仕組みとして今回使ってみるのがこのRcloneです。

Rcloneはファイル同期やバックアップとして馴染みのrsyncを、各社オンラインストレージやクラウドなど様々な相手に拡張したような印象で、LinuxやWindowsで動作します。インストールもプラットフォームを自動識別するインストールバッチが公式より用意されているので、それを以下の要領で実行するのみ。Synology NAS DS212Jのターミナル上で、インストールバッチを実行してインストールしました。

インストールが済んだらまず、リモート接続先の登録を行います(登録せずにrclone実行時に全てオプションに指定する方法も可能ですが、ログイン情報も平文でオプションに列記することになるので非推奨)。

2023.05.24追記)
FTPサーバ側の挙動が変わったのか、rcloneが接続しようとすると、次のメッセージで異常終了するようになりました。

デバッグオプションを付けて確認してみると、 AUTH TLS が怪しそう。

色々試した結果、当初は true にしていた explicit_tls を false に変えて、正常動作に復帰しました。

追記ここまで。

 

設定中に促されたRcloneをFTPでの使い方と注意事項について確認してみると、同期に際しハッシュによるファイル比較はサポートしておらず、ファイルサイズで判断するとのことですが、今回のような用途には支障は無いでしょう。

 

Rcloneを試行して手動同期

Rcloneのリモート接続先の設定を終えたので、公式サイトのドキュメントを確認しながら、リモート接続先に対していくつかコマンドを発行してみます。まず、BackWPupがWebサーバ上に作成したバックアップ・アーカイブを収めたディレクトリの一覧を要求してみます。

ls 関連はこちらのページに詳細があります。 ls -l のようなことをするのは、 lsl で良さそうです。

バックアップ・アーカイブのみを抽出した一覧にするには、フィルタリング機能を使います。

それでは同期転送を試してみましょう。まずはdry-runモードで挙動を確認します。

問題無いので、dry-runを外して実行してみます。デフォルトではマルチスレッドが有効で、同時に4本の転送が並列に進行します。

実際に同期してみると、進捗99%になると必ずリセットがかかり、再び0%からやり直しを延々と繰り返します。

図18.Rclone Sync 転送リセット

図18.Rclone Sync 転送リセット

-vv オプションを追記してデバッグしてみると、マルチスレッド転送に原因がありそうに思えます。

そこでマルチスレッドを無効とし、さらにFTP同時接続数も絞り、1つずつ確実に転送する手法に変えてみます。

図19.Rclone Sync シングルスレッド

図19.Rclone Sync シングルスレッド

進捗では1つずつ転送することでリセットすることなく同期完走することが確認出来ました。

次ページでは、出来上がったRcloneスクリプトをNASのタスク・スケジューラへ登録して定期運用するようにします。

 

created by Rinker
¥1,465 (2024/04/26 07:45:32時点 Amazon調べ-詳細)

コメントを残す

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

CAPTCHA