Windows のハードリンクのサイズを計算する

Windows のハードリンクのサイズを計算する

私は長年Linuxの熱心なユーザーでしたが、Windowsに切り替えました。私がいつも恋しく思うことの1つはrsync を使用して増分スナップショットを作成するバックアップの目的で、次のようなコマンドを使用します。

rsync -aP --link-dest=PATHTO/$PREVIOUSBACKUP $SOURCE $CURRENTBACKUP

すると、バックアップするフォルダの現在の状態の完全なディレクトリ構造が作成され、ハードリンクを使用して以前のバックアップを参照します。新しいファイルまたは変更されたファイルのみが実際にディスクに書き込まれ、他のファイルはすべてハードリンクとして保存されます。これは単純に素晴らしいもので、Windowsで見つけたどのソリューションでもこれを実現できませんでした。(参考までに、私はWindowsファイル履歴を試し、Crashplanなどの商用ソフトウェアにお金を払って、それ以外は素晴らしい比較を超える

Microsoft が WSL を導入したので、Windows の bash でこれを実行してみました。完璧に動作したようですが、Windows は次のようにディスク上のサイズを誤って報告しています。

ディスク上のサイズが誤って報告されました

説明すると、あるスクリーンショットではsnapshot-170831__07h08m48s1.40 GB の大きなビデオ ファイルを追加し、コピーに数秒かかりました。次のスクリーンショットでは、snapshot-170831__07h09m09sファイルのコピーに時間がかかりませんでした。これは、ハード リンクが正しく作成され、ハード ドライブのスペースが占有されていないことを示しています。

しかし、すべての Windows ツール (Windows エクスプローラー、Directory Opus、WinDirStat) は、2 番目のスナップショット フォルダーがディスク上で 1.40 GB を占有していると報告します。

最初の質問はWindows がこれらのハード リンクのディスク上のサイズを誤って報告するのはなぜですか?

しかし、もっと重要な疑問はこれをやるべきでしょうか: 定期的なファイル バックアップに Windows で Linux ツールを使用しています。Windows ツールを使用して .bashrc などのファイルを変更すると、WSL 内でファイルが読み取り不能になることが WSL で既に確認されています。このようなツールにバックアップを任せるのはリスクが高すぎるのか、ファイル システムが破損して重要なファイルが失われるリスクがあるのだろうかと疑問に思っています。

答え1

Windows のハードリンクのサイズを計算する

Windowsでハードリンクされたファイルのサイズを計算するのは困難です。これを可能にするツールの1つはツリーサイズプロフェッショナル(無料ではありません。ハードリンクの分析はデフォルトでオフになっています)。私はこのツールを使用しましたが、ハードリンクされたファイルのサイズを正しく推定できました。

より詳しい議論については、多数のハードリンクを持つ NTFS ディレクトリで使用されている実際のサイズを確認するにはどうすればよいですか?

ファイルは実際に機能していますか?

質問のもう1つの部分については、WSL上のWindowsでLinuxツールを使用してファイルをバックアップするのは危険ですか?スナップショットディレクトリの1つを別の外付けハードドライブにコピーするだけでこれをテストすることにしました。ファイルのコピーや外付けドライブからの読み取りに問題はありませんでした。言い換えると、ハードリンクは期待通りに動作しています、ファイルは動作しています。

長期的なデータの安定性

最後のポイントは、定期的なバックアップの一部として WSL で Linux ツールを使用すると、ファイル システムが破損するなど、何かが壊れる可能性があるかということです。WSL が大きな問題を起こさないと信頼できますか。いつでも何かが壊れる可能性があるため、これらのスナップショット ディレクトリが定期的に別のドライブにコピーされるようにします。

関連情報