The Rdiff-バックアップ ツールは、ローカルまたはリモートでデータをバックアップするために使用できる、シンプルでありながら強力なバックアップツールです。 これは、Linux、macOS、さらにはFreeBSDの両方で動作するPythonで記述されたクロスプラットフォームツールです。 Rdiff-backupは、rsyncと同様に、ほとんどの場合、前のバックアップと次のバックアップの違いを更新し、最新のバックアップを確実に取得できる逆増分バックアップツールです。 さらに、バックアップを簡単に復元してファイルにアクセスできます。 このガイドでは、Rdiff-backup(Linux用のローカルおよびリモートバックアップツール)をインストールする方法を学習します。
Rdiff-backupツールは、SSHプロトコルを使用して、ネットワーク経由でディレクトリをバックアップします。 これにより、SSHプロトコルのおかげで、安全で安全なデータ転送が可能になります。 リモートシステムは最終的にソースディレクトリのレプリカになり、後続のバックアップは段階的に同期されます。 これ以上面倒なことはせずに、詳しく見て、ツールがどのように使用されるかを見てみましょう。
Rdiffのインストール方法-バックアップツール
rdiff-backupツールは、それぞれのパッケージマネージャーを使用してさまざまなLinuxディストリビューションにインストールできます。 最新のリリースはバージョン2.xです。 ただし、インストールする前に、Linuxシステムにいくつかの依存関係が必要です。
依存関係
最新のRdiffバックアップツールでは、次の前提条件が必要です。
- Python3.6以降のバージョン
- librsync1.0.0以降
- pylibacl(これはオプションですが、ACLのサポートに役立ちます)
- Pyxattr(拡張属性サポート用)
- ターゲットシステムに設定されたパスワードなしのSSH(リモート用
Ubuntu20.04またはDebianバスターの場合
Ubuntu 20.04および最新のDebianバージョンの場合、コマンドを使用して最新のRdiffバックアップツールをインストールします。
$ sudo apt installrdiff-backup
これにより、すべての依存関係とともにrdiff-backupツールがインストールされます。
インストールされているrdiffのバージョンを確認するには、次のコマンドを呼び出します。
$ rdiff-backup -V

Ubuntu / Debianの古いバージョン
古いバージョンの場合は、Ubuntuバックポートを使用してください
$ sudo apt install software-properties-common $ sudo add-apt-repository ppa:rdiff-backup / rdiff-backup-backports
図のように、システムパッケージを更新し、Ridffバックアップツールをインストールします。
$ sudo apt update
$ sudo apt install rdiff-backup
CentOS 8 / RHEL8の場合
CentOS 8 RHEL 8の場合、最初にCOPRリポジトリを有効にします。 の略 クールな他のパッケージリポジトリ、 COPR は Fedora サードパーティのリポジトリを構築および管理する簡単な方法を提供することを目的としたプロジェクト。
$ sudo dnf install yum-plugin-copr epel-release
$ sudo dnf copr enable frankcrawford/rdiff-backup
リポジトリを追加したら、次のようにRdiffバックアップツールをインストールします。
$ sudo dnf --enablerepo=PowerTools install rdiff-backup
CentOS 7 / RHEL7の場合
同様に、CentOS 7 / RHELでは、Rdiffバックアップツールをインストールする前にCOPRリポジトリを有効にする必要があります。
$ sudo yum install yum-plugin-copr epel-release
$ sudo yum copr enable frankcrawford/rdiff-backup
$ sudo yum install rdiff-backup
$ sudo yum install py3libacl pyxattr => This is optional
の上 Fedora 32以降
$ sudo dnf install rdiff-backup
古いバージョンの場合 Fedora 以下のコマンドを呼び出します。
$ sudo dnf install python3-pip python3-setuptools py3libacl python3-pyxattr
$ sudo pip3 install rdiff-backup
その他のLinuxディストリビューション
Linuxディストリビューションの場合、次のように、PyPI(Python Package Index)リポジトリのpip3パッケージマネージャーを使用してRdiffバックアップツールをインストールできます。
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ sudo python3 get-pip.py
$ sudo pip3 install rdiff-backup
Rdiffの使用方法-バックアップツール
前述のように、rdiff-backupコマンドラインツールはSSHサービスに依存して、リモートターゲットのディレクトリに接続してバックアップします。 ただし、ご存知のように、SSHのデフォルトの認証はユーザー名/パスワード方式です。 これには、ユーザーが直接入力する必要があります。 rdiff-backupの場合、これは望ましい認証タイプではありません。 バックアップを自動化し、よりスムーズでシームレスなエクスペリエンスを楽しむには、SSHパスワードレスログインを構成する必要があります。 これにより、SSHキーを使用したログインが可能になります。これは、Linuxシステム間でファイルを同期または転送するためのより安全で便利な方法です。
ローカルバックアップの作成
rdiff-backupコマンドの最も簡単で基本的な使用法は、ディレクトリのローカルバックアップを作成することです。 図のように、同じシステム上の別のパスにディレクトリをバックアップできます。
$ sudo rdiff-backup foo bar
どこ foo
バックアップするフォルダであり、 bar
バックアップディレクトリです。
取りましょう example。 私はというディレクトリを持っています reports
図のようにテキストファイルが含まれています。

バックアップディレクトリを作成しました /opt/backup
ファイルがバックアップされる場所。
$ sudo mkdir -p /opt/backup
バックアップするには reports
フォルダに /opt/backup
ディレクトリで、次のコマンドを実行します。
$ sudo rdiff-backup reports /opt/backup

に注意してください rdiff-backup-data
プロセスで生成されたディレクトリ。 このディレクトリには、バックアップログなどのバックアッププロセスに関連する重要なファイルが含まれています。

ローカルバックアップからのデータの復元
ローカルシステムでディレクトリをローカルにバックアップする方法を見てきました。 ただし、誤ってレポートディレクトリを削除したか、破損していると仮定します。 のバックアップディレクトリからディレクトリを復元するには /opt/backup
パス、コマンドを実行します:
$ sudo cp -a /opt/backup reports
リモートLinuxシステムへのディレクトリのバックアップ
ディレクトリをリモートサーバーにバックアップするには、まず、rdiff-backupが両方のシステムにインストールされていること、およびrdiff-backupの2つのバージョンが同じであることを確認します。 。 説明したように、次のコマンドを使用してrdiff-backupのバージョンをクロスチェックできます。
$ rdiff-backup -V
示されているように、2つのUbuntu 20.04LTSサーバーがあります。
Ubuntu remote server - 173.82.187.242
Ubuntu backup server - 173.82.155.215
バックアップはバックアップサーバーから実行されます。 これで example、にあるリモートサーバーからログファイルをバックアップします /var/log
道。 これを実現するには、最初にバックアップサーバーにログインする必要があります。
$ ssh [email protected]
次に、以下のコマンドを実行します。
$ rdiff-backup [email protected]::/var/log/ /opt/logs_backup/

ディレクトリをバックアップから除外します
ディレクトリをバックアップから除外するには、 --exclude
示されているフラグ:
$ rdiff-backup --exclude /etc/apt [email protected]::/var/log/ /opt/logs_backup/
まとめ
rsyncとは異なり、rdiff-backupはターゲット上のファイル全体を読み取らないため、ターゲット上のディスクI / Oが大幅に少なくなり、バックアップ速度が向上します。
Rsyncは、ソースとターゲットの両方で各ファイルのメタデータ(タイムスタンプ、ファイルのサイズ)をチェックして、更新する必要のあるファイルを判別します。 ここで、rdiff-backupは、すべてのファイルのsha1チェックサムを追跡するメタデータファイルをターゲットに保持します。
このチュートリアルは終了しました。 このガイドでは、Linuxシステム用のローカルおよびリモートバックアップツールであるrdiff-backupをインストールして使用する方法を学習しました。 ディレクトリとファイルのバックアップを楽しんでください。