バックアップ · 1 min read · Jan 02, 2026

rdiff-backupによる自動バックアップ

これは “コピー&ペースト” のHowToです!

このチュートリアルに従う最も簡単な方法は、コマンドラインクライアント/SSHクライアント(Windowsの場合は

PuTTY

など)を使用し、コマンドを単純にコピー&ペーストすることです(IPアドレス、ホスト名、パスワードなどの自分の情報を提供する必要がある場合を除く)。これにより、タイプミスを避けることができます。

rdiff-backupによる自動バックアップ

バージョン 1.0
著者: Falko Timme

このチュートリアルでは、ツールrdiff-backupを使用して自動サーバーバックアップを行う方法を説明します。rdiff-backupを使用すると、SSHを介してネットワーク上でバックアップを作成できるため、データ転送が暗号化されます。SSHを使用することで、rdiff-backupは非常に安全であり、転送されるデータを誰も読むことができません。rdiff-backupは増分バックアップを作成するため、帯域幅を節約します。

rdiff-backupの機能についての詳細は、こちらをご覧ください: http://www.nongnu.org/rdiff-backup/index.html

問題は、SSHがログインにパスワードを必要とするため、rdiff-backupをcronジョブとして実行したい場合には好ましくないことです。パスワードが必要なため、人間の操作が必要になりますが、これは私たちが望んでいることではありません。たとえば、server1.example.comのディレクトリ/bootをバックアップするには、バックアップサーバー(このチュートリアルではbackup.example.comと呼びます)でrdiff-backup [email protected]::/boot bootと入力します。これにより、server1.example.comのディレクトリ/bootbackup.example.comのディレクトリbootに保存されようとします。さて、以下のようなことが起こります:

| rdiff-backup@backup:~$ rdiff-backup [email protected]::/boot boot パスワード: ----------------------------------------------------------------- ソース(読み取り専用)ファイルシステムの能力が検出されました: アクセス制御リスト オフ 拡張属性 オフ Mac OS Xスタイルのリソースフォーク オフ Mac OS X Finder情報 オフ ----------------------------------------------------------------- 警告: boot/rdiff-backup-dataのファイルシステム上で所有権を変更できません ----------------------------------------------------------------- 宛先(読み書き可能)ファイルシステムの能力が検出されました: 引用が必要な文字 '' 所有権の変更 オフ ハードリンク オン fsync()ディレクトリ オン ディレクトリのinc権限 オン アクセス制御リスト オフ 拡張属性 オフ Mac OS Xスタイルのリソースフォーク オフ Mac OS X Finder情報 オフ ----------------------------------------------------------------- rdiff-backup@backup:~$ |

ご覧の通り、2行目でserver1.example.comrootパスワードを求められます。

しかし、幸いなことに解決策があります:公開鍵の使用です。私たちは鍵のペアを作成します(バックアップサーバーbackup.example.com上で)、そのうちの1つはリモートシステム(server1.example.com)のファイルに保存されます。その後、rdiff-backupを実行する際にパスワードを求められることはありません。これにはcronジョブも含まれており、まさに私たちが望んでいることです。

ああ、私がこれまでに書いたことからすでに推測できたかもしれませんが、概念は、backup.example.comから直接server1.example.comのバックアップを開始することです。server1.example.comはバックアップを取得するために何もする必要はありません。

このHowToは実用的なガイドとして意図されています。理論的な背景については、ウェブ上の他の多くの文書で扱われています。

この文書にはいかなる種類の保証もありません!これは、このようなシステムを設定する唯一の方法ではないことを言いたいです。この目標を達成する方法はたくさんありますが、これは私が取る方法です。これがあなたにとって機能することを保証するものではありません!

ステップ1: server1.example.comとbackup.example.comにrdiff-backupをインストールする

まず、両方の server1.example.combackup.example.comrdiff-backupをインストールする必要があります。Debianシステムでは、次のコマンドを実行することで簡単に行えます。

apt-get install rdiff-backup

他のディストリビューションでは、インストール方法が異なります(Fedoraではyum install rdiff-backup、Mandrivaではurpmi rdiff-backup、SuSEではrdiff-backupをインストールするためにyastを使用する必要があります)。

ステップ2: backup.example.comで鍵を作成する

backup.example.comで、rdiff-backupという名前のグループと特権のないユーザーを作成します。このユーザーrdiff-backupがバックアップを実行します。セキュリティ上の理由から、rootにバックアップを実行させたくありません!

groupadd -g 3500 rdiff-backup
useradd -u 3500 -s /bin/false -d /backup -m -c “rdiff-backup” -g rdiff-backup rdiff-backup

2番目のコマンドは、ホームディレクトリ/backup(このコマンドによって自動的に作成されます)があり、シェルにログインできないユーザーrdiff-backupを作成します(再度、セキュリティ上の理由から)。グループIDとユーザーID 3500がすでにシステムで使用されている場合は、別の(空いている)IDに置き換えてください。

次に、次のコマンドを実行します。

su -m rdiff-backup

このコマンドを使用すると、シェルでユーザーrdiff-backupになります。以降のすべてのコマンドはユーザーrdiff-backupとして実行する必要があります!

鍵を作成します:

cd /backup
ssh-keygen -t rsa

次のような表示がされます:

| rdiff-backup@backup:~$ ssh-keygen -t rsa 公開/秘密のrsa鍵ペアを生成しています。 鍵を保存するファイルを入力してください (/backup/.ssh/id_rsa): ディレクトリ'/backup/.ssh'が作成されました。 パスフレーズを入力してください(パスフレーズなしの場合は空のままにしてください): 同じパスフレーズを再度入力してください: あなたの識別情報は/backup/.ssh/id_rsaに保存されました。 あなたの公開鍵は/backup/.ssh/id_rsa.pubに保存されました。 鍵のフィンガープリントは: 88:18:4e:55:e9:27:8e:2a:44:4b:03:bd:9d:0f:fc:48 rdiff-backup@backup |

鍵を/backup/.ssh/id_rsaに保存することは問題ありませんので、単にenterを押してください。パスフレーズを入力しないことが重要です。そうしないと、バックアップは人間の操作なしでは機能しませんので、再度enterを押してください。最終的に、2つのファイルが作成されます:/backup/.ssh/id_rsa/backup/.ssh/id_rsa.pub

次に、次の内容でファイル/backup/.ssh/configを作成します:

| host server1_backup hostname server1.example.com user root identityfile /backup/.ssh/id_rsa compression yes cipher blowfish protocol 2 |

hostの値は、後でバックアップを開始するために使用するものです。好きな名前を使用できます(例:server1_backupthis_is_the_machine_i_want_to_backupなど)(ただし、空白を含めないようにしてください。アンダースコアは大丈夫です)。

そのファイルの権限を変更します:

chmod -R go-rwx /backup/.ssh

次に、公開鍵をserver1.example.comにコピーします:

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

これにより、次のようになります:

| rdiff-backup@backup:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 23 ホスト'server1.example.com (1.2.3.4)'の信頼性を確認できません。 RSA鍵フィンガープリントはc7:19:55:7a:54:ce:93:c8:b6:f9:0e:e3:65:24:64:11です。 接続を続行してもよろしいですか(yes/no)? yes 警告: 'server1.example.com' (RSA)が既知のホストのリストに永続的に追加されました。 パスワード: マシンにログインして、"ssh '[email protected]'"を実行し、次を確認してください: .ssh/authorized_keys 追加の予期しない鍵が追加されていないことを確認してください。 rdiff-backup@backup:~$ |

再度、server1.example.comrootパスワードを入力する必要があります。このコマンドが行うのは、ユーザーrdiff-backupの公開鍵をリモートサーバーserver1.example.comのファイル/root/.ssh/authorized_keysにコピーすることです。

Share: X/Twitter LinkedIn

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

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