バックアップ · 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 ed25519Enterを押すと、一連の質問が表示されます。回答は空のままにし、コマンドが完了するまで何度もEnterを押し続けます。キーに対してパスフレーズを設定しないでください。その質問でもEnterを押します。
1.3 バックアップディレクトリを作成する
次に、バックアップが保存されるディレクトリを作成する時が来ました。これはBorg用語でborgリポジトリと定義されます。ディレクトリをborgbackupと呼びますが、メインサーバーのホスト名にちなんで名付けることもできます。
cd
mkdir borgbackup
chmod go-rwx borgbackup
chmod u+rwx borgbackup2 メインサーバーの設定とバックアップサーバーへの接続方法
2.1 Borgをインストールする
今度は、バックアップサーバーでの作業からメインサーバーでの作業に移ります。
メインサーバー(バックアップを取得したいサーバー)で、次のコマンドを使用してルートターミナルでBorgをインストールします:
apt install borgbackup後で、メインサーバーの外部IPアドレスが必要になります(私たちがいるサーバーのもの)。このIPアドレスをコピーして、すぐに利用できるようにしておいてください。メインサーバーの外部IPアドレスを思い出せない場合は、次のコマンドを実行して表示します:
wget -qO- http://ipecho.net/plain | xargs echo2.2 メインサーバーがバックアップサーバーにアクセスできるようにする
メインサーバーで実行するコマンド
メインサーバーからバックアップサーバーに接続できるようにSSHキー認証を準備します。まず、次のコマンドを使用してメインサーバーのrootユーザーの公開SSHキーを表示します:
cat ~/.ssh/id_*.pubrootの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=新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。