
Linuxプラットフォームを様々なサーバーやデスクトップで利用している方なら、あらゆるタスクに複数の解決策が存在することをご存知でしょう。その好例の一つがバックアップです。データのバックアップには、ネットワーク経由でバックアップする場合でも、無数の選択肢があります。
そのようなソリューションの一つが、オープンソースのBorgBackupです。BorgBackup(略してBorg)は、圧縮、認証付き暗号化、ネットワーク経由のバックアップをサポートする重複排除バックアッププログラムです。
Borg のインストール、ローカルリポジトリの作成、そしてネットワーク上のリモートリポジトリへのバックアップの手順を解説します。ここでは、Borg の機能のほんの一部しか説明していません。このソリューションを最大限に活用するには、公式ドキュメントを必ずお読みください。
それでは、ボーグを始めましょう。
インストール
Borgは標準リポジトリに用意されているので、インストールは簡単です。ここではUbuntuプラットフォームでデモを行います。他のディストリビューションをお使いの場合は、必要に応じてインストールコマンドを変更してください。
Borg をインストールするには、ターミナル ウィンドウを開いて次のコマンドを発行します。
sudo apt install borgbackup
必要なのはこれだけです。ただし、ローカルマシンとリモートマシンの両方にBorgがインストールされている必要があります。インストールが完了したら、準備完了です。
ローカルリポジトリを作成する
まず、Borgを使ってローカルリポジトリを作成する手順を説明します。手順を理解したら、リモートリポジトリの作成に進みましょう。今回は暗号化キーを使用するリポジトリを作成します(セキュリティ上の理由からです!)。ローカルリポジトリを作成するコマンドは以下のとおりです。
borg init --encryption=repokey /REPOSITORY
ここで、REPOSITORYは使用するディレクトリへの直接パスです。例えば、リポジトリとして使用するディレクトリ/dataがあるとします。当然ですが、このディレクトリを使用する前に、コマンドを実行するユーザーには読み取り/書き込み権限が必要です。そのためには、sudo chown USER:USER /data (USERは実際のユーザー名)というコマンドを実行します。/dataリポジトリを作成するには、以下のコマンドを実行します。
borg init --encryption=repokey /data
新しいリポジトリの暗号化パスワードを作成(および確認)するよう求められます。リポジトリを作成したら、ファイルとディレクトリのバックアップに使用できます。例えば、~/Documents というディレクトリがあり、それを新しいリポジトリに THURS という名前でバックアップしたいとします(木曜日にバックアップするため)。この場合のコマンドは以下のとおりです。
borg create /data::THURS ~/Documents
リポジトリの暗号化パスフレーズの入力を求められます。認証が完了すると、~/Documentsディレクトリが /data にバックアップされます。
borg list /dataコマンドを実行すると、新しく作成されたバックアップのリストが表示されます (図 A )。
図A

リモートリポジトリ
Borgの仕組みの基本を理解したところで、リモートリポジトリを作成し、そこにバックアップしてみましょう。これを行う前に、リモートマシンにSSHで接続できる必要があります。必要なサーバーが(リモートマシンに)まだインストールされていない場合は、次のコマンドでインストールできます。
sudo apt install openssh-server
セキュア シェル接続が機能したら、次のようなコマンドでリモート リポジトリを作成できます。
borg init USER@IP:/REPO
ここで、USER はリモートユーザー名、IP はリモートサーバーのIPアドレス、REPO はリポジトリとして使用するディレクトリです。例えば、IPアドレス 192.168.1.90 のリモートマシン上のリモートディレクトリ/BACKUPを、ユーザー jack で使用したいとします。この場合のコマンドは以下のようになります。
borg init [email protected]:/BACKUP
まず、リモートユーザーのSSHパスワードの入力を求められます。次に、バックアップ用のパスフレーズの入力を求められます。パスワードを確認すると、入力したパスフレーズを表示するかどうか尋ねられます。デフォルト(N)を受け入れると、リポジトリが作成されます。
リモートリポジトリへのバックアップは、ローカルへのバックアップと似ています。~/Documentsディレクトリを新しく作成したリモートリポジトリにバックアップしてみましょう。コマンドは以下のとおりです。
borg create [email protected]:/BACKUP::THURS ~/Documents
上記のコマンドは、リモートリポジトリに「THURS」という名前の新しいバックアップを作成します。このバックアップの一覧は、以下のコマンドで確認できます。
borg list [email protected]:/BACKUP
新しく作成されたバックアップがリストされます (図 B )。
図B

抵抗は無駄だ
ここまでくれば、Borg を使いこなすための十分な知識が身に付きました。このツールは他にも多くの機能を備えているので、公式ドキュメントをよく読んで、その詳細を確認してください。Borg を使い始めれば、当然ながら抵抗は無意味になります。