増分バックアップを復元するには、まず完全バックアップを復元してから、同じ順序で増分バックアップを復元し、削除されたファイルを削除する必要があります。ファイルを回復して削除することは無駄で、大容量ファイルの場合は時間の無駄です。それを使用しない方法はありますかtar
?
答え1
特定のファイル抽出をスキップするには、そのファイルを抽出する前にそのファイルの名前を知っておく必要があります。
これを行うには、内容を分析するために事前にすべてのテープを完全に読み取る必要があります。つまり、回復時間が2倍になります。今日、一般的なファイルシステムのバックアップリカバリに1日以上かかることを考慮すると、これは有用な代替手段ではないようです。
月曜日にどのファイルが火曜日に削除されるかを知っていると、バックアップはより効率的になる可能性がありますが、月曜日のバックアップには月曜日の情報のみが含まれます。
バックアップの効率はメタデータセットによって異なり、GNU tarは非常に少量のメタデータを保存します。 GNU tarは、アーカイブディレクトリ内のすべてのファイルの名前だけを知っています。
一般的なバックアップユーティリティは、GNU tarよりも多くのメタデータを保存します。 GNU tarアーカイブから欠落している重要な情報の1つは、すべてのファイルのinode番号のリストです。バックアップにinode番号がある場合は、ファイル名の変更を追跡できます。 GNU tarはメタデータが不足しているため、名前の変更を追跡できません。
十分なメタデータを保存するバックアッププログラムがある場合は、増分バックアップを復元する最新の方法は次のとおりです。
空のターゲットファイルシステムで起動
最初のフルダンプをターゲットファイルシステムに抽出し、どのファイルがディレクトリであり、どのファイルがディレクトリではないか、バックアップファイルシステムの元のinode番号とファイルシステムで使用された新しいinode番号を記憶するデータベースを保持します。回復が起こるところ。
増分後続のバックアップは、生成された順序で抽出されます。
復元された現在の増分の各ファイルとディレクトリについて、そのデータベースのinode番号を確認して、関連する新しいinode番号を取得します。データベースに新しいinode番号がない場合、これは新しいファイルであり、データベースにすでに新しいinode番号があり、現在のファイル名が異なる場合、ファイル名は現在の名前に変更されます。
ディレクトリとその内容がデルタアーカイブから抽出され、ファイル/ディレクトリがディレクトリの新しい状態になっていない場合は、ディレクトリの名前を変更して一時的な名前を覚えてください。
現在の増分を完全に復元し、一時的に名前が変更されたファイルを含むディレクトリにファイルが残っている場合、そのファイルは元のファイルシステムから削除されたファイルであるため、新しいターゲットファイルシステムから削除する必要があります。
このため、常にソースファイルシステムよりも新しいターゲットファイルシステムに多くのデータを保存できる必要があります。 GNU tarバックアップにはメタデータがほとんど含まれていないため、GNU tarはより多くのメタデータスペースを格納するソリューションよりも増分バックアップに多くのスペースが必要で、ターゲットファイルシステムに追加のスペースが必要になる傾向があります。