バックアップ · 1 min read · Dec 14, 2025

別のVPSまたは専用サーバーへのappend-onlyバックアップをBorgで行う

このチュートリアルでは、メインサーバーと呼ばれるサーバーのデータを、バックアップサーバーと呼ばれる別のホストにバックアップする方法を示します。バックアッププログラムBorgを使用します。バックアップサーバーは、メインサーバーが通常の使用で新しいデータを追加することしかできず、古いバックアップを削除または変更できないように構成されます。このappend-only機能と、バックアップが別の場所にある別のサーバーに保存されるという事実により、自然災害やメインサーバーへのハッカー攻撃などからのデータ損失に対してバックアップが保護されます。

このガイドを進めるための前提条件は、Debian Stretch (9) または Debian Buster (10) を使用し、バックアップを取得するメインサーバーとバックアップアーカイブを保存するバックアップサーバーの2つのサーバーが利用可能であることです。これらの2つのサーバーは、最適な保護のために別々の場所にあるべきです。

このガイドは、最初のセクションでバックアップサーバーの構成から始まります。次のセクションでは、メインサーバーを構成し、バックアップを実行し、テストリストアを行い、古いバックアップアーカイブを手動でプルーニングする方法を示します。

1 バックアップサーバーの構成

1.1 Borgをインストールし、新しいborgbackupユーザーを作成する

バックアップサーバー(バックアップを保存するサーバー)で、次のコマンドを使用してルートターミナルでBorgをインストールします:

apt install borgbackup

次に、これから作成するborgユーザーのパスワードを選択します。(各ユーザーにパスワードを設定することは必須ですが、このパスワードはほとんど使用されません。通常、SSHキーを使用してバックアップサーバーに接続します。)ランダムな64文字のパスワードを生成したい場合は、次のコマンドを使用します:

< /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-64};echo;

表示されたborgユーザーのパスワードをクリップボードにコピーし、サーバー自体とは別の安全な場所に保存します。

次に、borgbackupユーザーを作成します:

adduser borgbackup

パスワードについての質問が表示されたら、先ほどコピーしたパスワードを貼り付けてEnterを押し、再度パスワードを貼り付けてEnterを押します。それ以外の質問には何も入力せず、次の質問にはEnterを押して回答します。

1.2 borgbackupユーザーのSSHキーを生成する

新しいユーザーになる必要がありますので、suを使用します:

su borgbackup  
cd

次に、ユーザーの新しいSSHキーのペアを生成します:

ssh-keygen -t ed25519

Enterを押すと、一連の質問が表示されます。回答は空のままにし、コマンドが完了するまで何度もEnterを押し続けます。キーに対してパスフレーズを設定しないでください。その質問でもEnterを押します。

1.3 バックアップディレクトリを作成する

次に、バックアップが保存されるディレクトリを作成する時が来ました。これはBorg用語でborgリポジトリと定義されます。ディレクトリをborgbackupと呼びますが、メインサーバーのホスト名にちなんで名付けることもできます。

cd  
mkdir borgbackup  
chmod go-rwx borgbackup  
chmod u+rwx borgbackup

2 メインサーバーの設定とバックアップサーバーへの接続方法

2.1 Borgをインストールする

今度は、バックアップサーバーでの作業からメインサーバーでの作業に移ります。

メインサーバー(バックアップを取得したいサーバー)で、次のコマンドを使用してルートターミナルでBorgをインストールします:

apt install borgbackup

後で、メインサーバーの外部IPアドレスが必要になります(私たちがいるサーバーのもの)。このIPアドレスをコピーして、すぐに利用できるようにしておいてください。メインサーバーの外部IPアドレスを思い出せない場合は、次のコマンドを実行して表示します:

wget -qO- http://ipecho.net/plain | xargs echo

2.2 メインサーバーがバックアップサーバーにアクセスできるようにする

メインサーバーで実行するコマンド

メインサーバーからバックアップサーバーに接続できるようにSSHキー認証を準備します。まず、次のコマンドを使用してメインサーバーのrootユーザーの公開SSHキーを表示します:

cat ~/.ssh/id_*.pub

rootのSSH公開鍵がある場合、今この鍵が表示されるはずです。クリップボードにコピーし、後でバックアップサーバーのファイルに貼り付ける必要があります。

鍵が表示されない場合は、鍵ペアを生成する必要があります。その場合は、次のコマンドを実行します:ssh-keygen -t ed25519を実行し、Enterを何度も押します。

次に、メインサーバー(現在いるサーバー)からバックアップサーバーへのアクセスを許可するために、公開SSHキーを使用してバックアップサーバーに指示する必要があります。これを行うには、次のコマンドを入力しますが、最初にBACKUPHOSTNAMEをバックアップサーバーのホスト名に置き換えます:

ssh-copy-id -i ~/.ssh/id_*.pub borgbackup@BACKUPHOSTNAME

バックアップサーバーに接続する

次に、ステップ1.1で作成したborgbackupユーザーのパスワードを入力する必要があります。それが完了すると、borgbackupユーザーとしてバックアップサーバーにパスワードなしで直接アクセスできるようになります。これが可能かどうかをテストするために、次のコマンドを入力します。BACKUPHOSTNAMEをバックアップサーバーのホスト名に置き換えます:

ssh borgbackup@BACKUPHOSTNAME

バックアップサーバーで実行するコマンド

このキーを使用して、メインサーバーのIPアドレスからのみアクセスを制限することにより、セキュリティをさらに強化します。

バックアップサーバーに留まり、次のコマンドを実行します:

nano ~/.ssh/authorized_keys

今、sshで始まる長い行が表示されるはずです。カーソルがファイルの先頭にあることを確認します。次のデータを同じ行に追加しますが、最初にSERVERIPADDRESSをあなたのサーバーのIPアドレスに置き換えます(このセクションの最初に調査したもの):

from=
Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。