rdiff-backup

rdiff-backup
原著者ベン・エスコト(2001~2005年)、ディーン・ゴーデット、アンドリュー・ファーガソン、エドワード・ネッド・ハーベイ(2005~2016年)、エリック・ラヴァルデ、オットー・ケカライネン、パトリック・デュフレーン(2019年からPython 3の書き換えを開始)
初回リリース2001
安定版リリース
2.2.6 [ 1 ] [ 2 ] ウィキデータで編集する / 2023年9月8日 (8 September 2023)
言語Python
プラットフォームUnix系システム、macOS、Windows
タイプバックアップソフトウェア
ライセンスGPL 2.0以降
ウェブサイトrdiff-backup .net
リポジトリ

rdiff-backupは、 Pythonで書かれたバックアップソフトウェアで、逆増分バックアップを作成します。最新のバックアップには直接アクセスできますが、それ以前のバックアップはrdiff-backup によって差分ファイルから再構築されます。

名前が示すように、 rdiff-backup はrdiffメソッド (より正確には、 librsync 内でのrsyncの再実装) を使用して、ファイル バージョン間の差異を計算します。 rdiff-backup は、 sshを介して異なるマシン間でファイルをバックアップできます。

使用方法

バージョン2.2以降、rdiff-backupに渡されるフラグは、一般的なものと操作に固有のもののいずれかになります。たとえば、fsyncの無効化(下記参照)は一般的なオプションであるため、 の後に来ますrdiff-backup--no-compressionはバックアップモードに固有のオプションであるため、 の後に来backupます

バックアップ

通常の操作は.gziprdiff-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>次のいずれかの方法で指定できます。

  • 日付として、例えば「2020-02-14」(これは、問題の日の深夜0rdiff-backup --list-increments <backup>時として解釈されます)または「2020-02-14T12:26:53+02:00」(最初に実行することで見つけることができます)のような日付時刻文字列として
  • 時間範囲として、例えば「1M」はファイルを1か月前の状態に復元します。
  • バックアップの数として、「10B」は10番目に新しいバージョンを復元します
  • または「今すぐ」を選択すると、最新のバックアップが復元されます。

rdiff-backup-data/incrementsディレクトリ内の関連するタイムスタンプ付きファイルを見つけて、 を実行することもできますrdiff-backup <time-stamped file> <file or folder to be restored>

より簡単な方法(ただし、ファイル権限が正しく復元されない場合があるため、必ずしも正しく復元されるとは限りません)として、最新のバックアップは、バックアップされたファイルまたはディレクトリを または でコピーすることで復元できますcp -arsync -a削除されたファイル(サフィックスで識別可能)も、ディレクトリからファイルを取得し、ソースディレクトリにコピーしてgzipsnapshot.gzで解凍することで復元できます。 rdiff-backup-data/increments

古いバックアップの削除

最も古いバックアップのみを削除できますrdiff-backup --remove-older-than <date> <backup directory>。特定のファイル(またはディレクトリ)の最も古いバージョンを削除する機能は、バージョン2.2で追加される予定です

古いバージョンを削除するときは、<date>ファイルまたはディレクトリを復元するときと同じ引数を取ります (上記を参照)。

問題

rdiff-backupはLinuxのSSHFSおよびexFATファイルシステムでは動作しませんが、 FATNTFSは動作します。これは主にFUSEモジュールとして実装されているため、特定の操作で遅延が発生し、バックアップには適さない可能性があります。明示的にサポートされているファイルシステムやサポートされていないファイルシステムはありませんが、rdiff-backupはバックアップを開始する前にテストを行い、不適切と判断されたファイルシステムでは処理を続行しません。exFATに関しては、新しいカーネル内exFATドライバを使用することで、この制限は克服できる はずです

rdiff-backup は SFTP 宛先にバックアップできません。

rdiff-backup は、変更されたファイルをファイルサイズと変更時刻 ( mtime ) のみで認識します。変更されたすべてのファイルがバックアップされていることを確認するには、rdiff-backup --compare-hash <source directory> <backup directory>(またはrdiff-backup --compare-full <source directory> <backup directory>バイト単位で比較する場合)を実行すると、変更されたすべてのファイルが表示されます。その後、 を使用するとtouch、問題のあるすべてのファイルの変更時刻を現在の時刻にリセットできます。これにより、次回の rdiff-backup 実行時にそれらのファイルもバックアップに含まれるようになります。

参考文献

  1. ^ Eric Zolf (2023年9月8日). 「最終マイナーリリース v2.2.6」 . 2023年9月13日閲覧
  2. ^ Eric Zolf (2024年1月1日). “Happy New Year 未リリースバージョン 2.6.0” . 2024年1月9日閲覧