NTFSハードリンクを使用して完全/差分バックアップを結合する


17

短い:物理コピーの代わりにハードリンクを使用してディレクトリツリーを(ロボ)コピーすることは可能ですか?

データファイルの毎日のバックアップを毎日独自のディレクトリに作成したい。現在、ほとんどのファイルは毎日変更されないため、バックアップを高速化し、ディスク容量を削減するという私の考えは、ハードリンクを使用して(day-1)のバックアップを(day)にコピーし、robocopyを使用してファイルを置き換えます昨日から変更されました。この方法では、フルバックアップをUSBドライブに1回コピーするだけで済みます。その後、変更をコピーするだけで、すべてのファイルを含むディレクトリを保持し、ハードリンクを使用して他のバックアップとファイルを共有できます。この方法で2つのフルバックアップを取得しましたが、1つ以上の差分のファイルスペースのみを使用し、バックアップファイルは特別なソフトウェアを必要とせずにアクセスできます。これは私にとって大きなプラスです。

これは可能ですか?
ディレクトリツリー内のすべてのファイルのハードリンクコピーを作成するプログラムはありますか?
知らない落とし穴がありますか?


ここに見られるようにこれを行うことができます。blog.mutable.net/post/2007/01/17/...
ブライアン

回答:


9

あなたが言うようにバックアップを作成する方法はありますが、私はRobocopyだけでは信じていません。

バックアップをハードリンクまたは重複排除し、スペースを節約するプログラムがいくつかあります。

以下に、私が使用または実行したプログラムをいくつか示します。

あなたの質問にぴったりだと思うのはDupemergeです。バッチファイルでRobocopyを実行して、内容をディレクトリにコピーできます(例:d:\ backups \ YYYY-MM-DD)。そのコマンドが完了すると、バッチファイルはd:\ backupsでDupemergeを呼び出すことができます。これにより、d:\ backupsのすべてのサブディレクトリ内およびサブディレクトリ間でファイルがハードリンクされます。

この欠点は、新しく作成されたハードリンクされていないバックアップを保持するために、外部に十分なスペースが必要になることです。Dupemergeの実行後、新しく作成されたバックアップはハードリンクされ、スペースが解放されます。

日付の付いた各ディレクトリには完全バックアップがあるように見えるため、これにより復元が容易になります。

サイドノートとして、ハードリンクを使用する場合、リンクシェル拡張が好きです。ハードリンクされていないもの、リンクされているもの、リンクされているものを知るのに役立ちます。

私は他のハードリンクまたは重複排除プログラムに出くわしましたが、これらが一番​​好きでした。


5
+1まともなまとめとLSEについての言及。ただし、OPに必要なものをほぼ正確に提供する単一のツールを忘れました:ln.exeのDelorean Copy ln.exeは、DupemergeとLSEの両方を書く同じ人によって書かれています。欠けているものはすべて、VSSサポートであると... ああ見て!さあ行こう! ;-)
フレイジャー

@afrazierデロリアンコピーとの良い電話。Delorean Copyにはいくつかの優れた機能があり、WebサイトはNTFSリンク情報に適しているようです。しかし、デロリアンコピーのリンク制限が1023であることには驚かされますが、おそらくほとんどの人にとっては問題ではないでしょう。Dupemergeは1022リンクで別のファイルにリンクします。デロリアンコピーの動作方法は、ソースファイル以外へのリンクは望ましくないでしょうか。私はそれについてもっと読む必要があります。素晴らしい提案。
スコットマックレニング

2
1023リンクの制限はNTFSの制限です。ディレクトリエントリのリンクカウンター属性は10ビットのみです。
afrazier

オプションの素晴らしい要約。残念ながら、元の投稿者のリクエストでは、以降の各バックアップで変更されたファイルのみをコピーするという要望にはお応えできません。のように聞こえるln.exe方が良い方法です。
サイモンイースト

同じメーカーのLink Shell Extensionもありln.exe、Windowsエクスプローラーでマウスを使用してこの種のバックアップを簡単に作成できます。また、バックアッププロセス中にタイムスタンプ付きのディレクトリを作成します。
サイモンイースト

1

BackupAssistを使用すると、必要なものを正確に使用できます。ハードリンクの使用は「シングルインスタンスストア」と呼ばれますが、実際には内部のハードリンクです。とりわけ、あなたが要求した方法でUSBドライブにバックアップしたり、rsyncを使用して遠隔地にバックアップしたりできます。


1

この種の作業用に独自のツールを作成しました。呼び出されたntfs-hardlink-backup:https : //github.com/International-Nepal-Fellowship/Windows-Tools/tree/master/ntfs-hardlink-backup

ハードリンクを作成するには、Hermann Schinaglのlnツールを使用します:http ://schinagl.priv.at/nt/ln/ln.html

したがって、lnを直接使用することもできます。その非常に強力な


リンクされたページが変更されると回答が無効になる可能性があるため、参照リンクから回答の重要な部分を引用してください。
DavidPostill


-3

そもそもロジックに欠陥があります。

ハードリンクを作成する場合、どのようにバックアップと呼ぶことができますか?ファイルが削除/破損されると、いわゆるバックアップもそのようになります。指定したすべての要件は、通常、今日のバックアップソフトウェアでカバーされています。

PS:NTFSはハードリンクAFAKをサポートしていません。


3
申し訳ありませんが、説明が十分に明確ではありませんでした。外部USBドライブでrobocopyを使用して完全なコピーを作成します。翌日、ハードリンクコピーを作成し、昨日以降に変更されたすべてのファイルを置き換えます。現在、USBドライブに2つの完全なコピーがありますが、1つの完全な+ 1つの差分のスペースコストがかかります。
サム

4
ああ、もちろんNTFSはハードリンクをサポートしています。
サム

1
あなたが説明するテクニックは、まさにrsnapshotUnixoid OSで実装されている(ダウンATMのようです)。それは間違いなく可能であり、非常にうまく機能します。残念ながら、あなたrsnapshotはWindowsで実行できません(だから私はこれをコメントとしてのみ書いています)。しかし、FAQでは、Windowsクライアントのリモート同期について言及しています。Unixoidマシンを使用している場合、これでうまくいくかもしれません。Windowsに相当するものは知りませんrsnapshot
ダニエルベーマー

変更されていないファイルへのハードリンクを作成しても何も得られません。バックアップソフトウェアは、アーカイブビットのオン/オフに基づいてバックアップを取得します。前回のバックアップ以降に変更されたファイルをコピーするだけです。また、Unixファイルシステムのみがハードリンクをサポートしているという印象を受けました。通知してくれてありがとう!
anilmwr

@Halo多くの場所で既に使用されるべきだと思った。残念なことに、私はUnixコンピュータを持ち歩いていないので、Windowsについてこれを知っている人を待つ必要があります。ヘッドアップをありがとう!
サム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.