rdiff-backupは、Pythonで記述されたバックアップソフトウェアで、逆方向の増分バックアップを作成します。そのため、最新のバックアップには直接アクセスできますが、それ以前のバックアップはrdiff-backupによって差分ファイルから再構築されます。
その名の通り、rdiff-backupはrdiffメソッド(より正確には、librsync内でのrsyncの再実装)を使用してファイルバージョンの差分を計算します。rdiff-backupはssh経由で異なるマシン間でファイルをバックアップできます。
バージョン 2.2 以降、rdiff-backup に渡されるフラグは、一般的なものか、操作固有のものかのいずれかです。たとえば、fsync を無効にする (下記参照) は一般的なオプションなので、 の後に記述しますrdiff-backup。--no-compressionはバックアップ モード固有のものなので、 の後に記述しますbackup。
通常の動作は です。増分ファイルのgzip圧縮は、フラグの後に無効にすることができます。オプションと は、バックアップの進行状況といくつかの統計情報を表示します。rdiff-backup backup ⟨source directory⟩⟨backup directory⟩--no-compressionbackup-v 5--print-statistics
このオプションを指定すると、 fsync--no-fsyncが無効になり、バックアップデータは物理ディスクではなくRAMに書き込まれるため、処理速度が大幅に向上します。ただし、データ損失のリスクが高まります。
rdiff-backup --restore-as-of ⟨date⟩⟨backup⟩⟨source⟩バックアップ全体、単一ファイル、またはサブディレクトリを復元します。いくつかの方法で指定できます。⟨source⟩⟨date⟩
rdiff-backup --list-increments ⟨backup⟩また、ディレクトリ内で関連するタイムスタンプ付きファイルを見つけrdiff-backup-data/incrementsて実行することも可能です。rdiff-backup ⟨time-stamped file⟩⟨file or folder to be restored⟩
より簡単な方法(ただし、ファイル権限が正しく復元されない可能性があるため、常に正しいとは限りません)としては、バックアップされたファイルまたはディレクトリをまたはでコピーすることで、最新のバックアップを復元することもできますcp -a。rsync -a削除されたファイル(拡張子で識別可能)は、ディレクトリで取得し、ソースディレクトリにコピーして、gzipsnapshot.gzで解凍することで復元することもできます。rdiff-backup-data/increments
最も古いバックアップのみを削除できます。特定のファイル(またはディレクトリ)の最も古いバージョンを削除する機能は、バージョン2.2で実装される予定です。rdiff-backup --remove-older-than ⟨date⟩⟨backup directory⟩
古いバージョンを削除する場合、ファイルやディレクトリを復元する場合と同じ引数を使用します(上記を参照)。⟨date⟩
rdiff-backup は Linux 上でSSHFSおよびexFATファイルシステムでは動作しませんが、 FATおよびNTFSでは動作します。これは主に、これらのファイルシステムがFUSEモジュールとして実装されているため、一部の操作で遅延が発生し、バックアップ目的には適さないことが原因です。ファイルシステムが明示的にサポートされているか、サポートされていないかは明記されていませんが、rdiff-backup はバックアップを開始する前にテストを実行し、不適切と判断されたファイルシステムでは処理を続行しません。exFAT に関しては、カーネルに組み込まれた新しい exFAT ドライバーを使用することで、この制限を克服できるはずです。
rdiff-backup は SFTP 宛先へのバックアップはできません。
rdiff-backup は、変更されたファイルをファイルサイズと変更時刻 ( mtime ) のみに基づいて認識します。変更されたすべてのファイルがバックアップされていることを確認するには、(またはバイト単位の比較の場合は) を実行すると、変更されたすべてのファイルが表示されます。次に、 を使用すると、問題のあるすべてのファイルの変更時刻を現在時刻にリセットできるため、次回の rdiff-backup 実行時にそれらのファイルもバックアップ対象に含まれます。rdiff-backup --compare-hash ⟨source directory⟩⟨backup directory⟩rdiff-backup --compare-full ⟨source directory⟩⟨backup directory⟩touch