Raspberry Piのデータや設定を自動バックアップするには UrBackup版

故障のようなトラブルに備えて、Raspberry Piのデータや設定、バックアップされていますか?

UrBackupサーバを使用すれば、ネットワーク経由で指定したディレクトリをサーバへアップロードして、自動でバックアップ可能のようです。

先日、ROCK64でUrBackupサーバを構築してみました。

こちらのサーバへ自動バックアップが行えるように、RaspbianへUrBackupクライアントをインストールする手順を記録しておこうと思います。


RaspbianのUrBackupクライアントインストール手順

UrBackupサーバ

データや設定ファイルなどのバックアップ先のサーバは、先日構築したROCK64サーバにしようと思います。

Windows PCもサーバをインストール可能のようです。

サーバとして長時間電源を入れておく場合は、消費電力や静音性をご考慮頂くのも良いかと思います。

※20.6.14追記:

Raspberry PiをUrBackupサーバにする手順はこちらになります。

Raspbianのビルド準備

OSはRaspbianを使用しました。

最初、UrBackupクライアントのバイナリ版(ARMv6+)をインストールしてみましたが、うまく動作しませんでした。

このため、ソースファイル版をダウンロードしてRaspberry Piでビルドしました。

ビルドの前にswap領域を追加する必要があります。Pi Zero Wでビルドしましたが、下図のようにコンパイラやリンカが大きなswap領域を使用するようです。

swap領域の追加

目安としてメインメモリーの2倍の容量のswapを追加しようと思います。Pi Zero Wはメインメモリーが512MBのため、1GiBの容量を追加しました。

  1. /var/swapfileを作成します。ddで1GBのファイルを作成しました。
    sudo dd if=/dev/zero of=/var/swapfile bs=1024 count=1M
  2. パーミッションを0600に変更後、swapファイルシステムを作成します。
    sudo chmod 0600 /var/swapfile
    sudo mkswap /var/swapfile
  3. swaponコマンドで有効にします。
    sudo swapon /var/swapfile
  4. 有効かどうか確認します。
    swapon -s

  5. 再起動後も有効になるように、/etc/fstabに設定を追加します。
    echo "/var/swapfile swap swap defaults 0 0" | sudo tee -a /etc/fstab

UrBackupクライアントのビルド

クライアントのビルドは、こちらの公式ドキュメントに沿うかたちです。

Pi Zero Wでビルドしたところ、2時間30分くらいかかりました・・・。

  1. build-essential等、必要なパッケージをインストールします。
    sudo apt install build-essential "g++" libwxgtk3.0-dev "libcrypto++-dev" libz-dev

  2. ソースファイルをダウンロードして展開します。バージョンは2.3.4のようです。
    wget https://hndl.urbackup.org/Client/2.3.4/urbackup-client-2.3.4.tar.gz
    tar xzf urbackup-client-2.3.4.tar.gz
  3. オートコンフィグを実行します。
    cd urbackup-client-2.3.4
    ./configure

  4. ビルドを開始します。のんびり待ちましょうか。
    make -j4

    警告(warning)は表示されましたが、特にエラーは発生せずに、正常にビルドできたようです。

  5. 問題なければ、インストールします。/usr/localにインストールされるようです。
    sudo make install
  6. 正常に動作するか、-v infoオプション付きでurbackupclientbackendコマンドを実行します。
    sudo urbackupclientbackend -v info

  7. UrBackupサーバの管理画面を開きます。
    http://<UrBackupサーバのIPアドレス>:55414/

    Webブラウザの画面を更新(再読込)しながらしばらく待っていると、クライアントのリストにRaspbery Piが追加されます。追加されない場合、urbackupclientbackendコマンドのログを確認したほうが良いかもしれません。

  8. /etc/rc.localファイルにurbackupclientbackendをデーモンとして起動する設定を追加します。
    sudo vi /etc/rc.local

    次の内容になります。exit 0の手前に追加する必要があります。

    # UrBackupClient
    /usr/local/sbin/urbackupclientbackend -d

  9. 再起動して、urBackupクライアントが動作しているか確認します。
    sudo reboot

    確認はこのような感じでしょうか。

    ps -elfd |grep urbackup | grep -v grep

    この場合、PID 302で正常に起動しています。

クライアントのインストールは以上で完了です。

UrBackupのクライアント設定

次はどのディレクトリをバックアップするか設定しようと思います。

  1. urbackupclientguiを実行すると、デスクトップのタスクバーにUrBackupの赤いアイコンが表示されます。
    sudo urbackupclientgui

  2. 右クリックでメニューを表示、「Add/Remove backup paths」をクリックします。
  3. 「Add path」ボタンをクリックして、バックアップしたいパスを追加するようです。/home/piと/etc/を追加してみました。

基本的な設定は以上のようです。

Settingsメニューを拝見すると。追加バックアップは5時間おきに行われて、フルバックアップは30日おきにおこなわれるようです。必要があれば、このあたりの設定を調整しましょう。

メニューから「Do full file backup」を選択すると、手動でフルバックアップを行えるようです。サーバにアップロードが完了すると、ステータスが「OK」になります。サーバ側のBackupsメニューにて、Raspberry Piクライアントを選択すると。設定したパスのディレクトリがバックアップされていることを確認できます。Restoreボタンや「Download folder as ZIP」でバックアップデータのダウンロード、「Restore folder to client」でクライアントへのリストアが可能のようです。


このような感じで、(やや時間はかかりましたが)比較的簡単に、Raspberry Piのバックアップが行えるようになりました。

むしろ簡単にバックアップデータにアクセスできるようになるため、危ない感じも致します。

UrBackupサーバの設置状況によっては、UrBackupサーバに管理用のユーザを作成して。認証を行わないと、管理画面にアクセスできないように設定したほうが宜しいかもしれません。という設定を行ったら、ROCK64の動作が不安定になった感じがしましたので、慌てて戻したりなんだり。

スポンサーリンク

フォローする

スポンサーリンク

コメント

  1. vvf より:

    リストアについての解説は無いのでしょうか。
    実際にリストアして成功しているのかが分からないのでいまひとつ不安です。

    • hide より:

      vvfさん はじめまして
      コメント頂きまして、誠にありがとうございます。

      以下、UrBackup管理画面の「Backups」タブ画面の話になります。
      バックアップされたデータを、「Download folder as ZIP」ボタンで別のPCにダウンロードして確認してみました。
      これは行ったことはあります。

      テキストデータのバックアップは問題なさそうですが、バイナリ系、特にWindowsのシステムバックアップは、正直私も信頼性に不安があります。
      私が使用するなら、Raspberry Piのhomeディレクトリや、Windowsのデスクトップのリアルタイムバックアップなら、まあ実用性がありそう、というような感じです。

      システム系のバイナリバックアップでガッツリ使う用途でしたら、信頼性は私は現時点で不明です。(未調査・未実験)