ext4からNTFS-3Gにコピーすると、rsyncのサイズが2倍になります。

ext4からNTFS-3Gにコピーすると、rsyncのサイズが2倍になります。

homeを使って自分のディレクトリを外部SSDドライブにバックアップしたいと思いますrsync

私はアーチLinuxを使用しています。家にいるのはext4(251G)で、取り付けられているSSDは(512G)NTFS-3Gですfuseblk

正確なrsync呼び出しは次のとおりです。

rsync -aSh --info=progress2 --delete --exclude=/me/.cache /home/me /run/media/me/Samsung_T5/

結局失敗し、これが最後の言葉でした。

        218.76G  99%   25.08MB/s    2:18:36 (xfr#2093188, ir-chk=1368/2286507)
rsync: write failed on "/run/media/me/Samsung_T5/me/a_file": No space left on device (28)

それでrsync約218G程度のデータがコピーされたというのにSSDがいっぱいでコピーを続けることができませんでした。

du私のSSDターゲットにどれだけのデータがあるか尋ねると、rsync466Gと出てきます。

$ du -hs /run/media/me/Samsung_T5/me
466G    /run/media/me/Samsung_T5/me

これはとても奇妙です。rsync281Gをコピーしようとしましたが、218Gをコピーしましたが、実際には466Gがコピーされたため失敗しました。

私はここで何を間違えましたか?

私はこれを知っNTFSていてext4違う。しかし、私のファイルを2倍以上大きくするのに十分な違いはありますか?私が実際に持っているよりも多くのコンテンツをコピーしていますかhome

rsynchome〜280GをSSDにバックアップする正しい手順は何ですかhome

修正する[下記のコメントありがとうございます]:

私のソースディレクトリには、多数の小さなファイルと一定量のスパースファイルがあります。たとえば、ソースに4Kファイルがあり、ターゲットに128Kファイルがあります。ソースには12K、ターゲットには128Kのスパースファイルもあります。

また、さまざまな実行可能ファイル(共有ライブラリなど)への244のハードリンクもあります。これらのハードリンクの一部は、比較的大きなファイルを指しています。たとえば、binutilsリンカ(ld)の1つのバージョンは約7Mで、4つのハードリンクがあります。

ベストアンサー1

あなたは少し見ることができます。二重性とグラフィカルユーザーインターフェースデザビュー。増分バックアップにはtarファイルを使用し、ファイルを暗号化してオプションでリモートサーバーにバックアップするオプションもあります。

librsyncとローリングチェックサムアルゴリズムを使用して、各増分アーカイブはファイルの変更された部分のみを保存します。

ホームページにはUnix権限、シンボリックリンク、fifo、およびデバイスファイルを処理することが示されていますが、ハードリンクを保存しないでください。ハードリンクされた大容量ファイルが多い場合、これはアーカイブの最良のオプションではないかもしれませんが、より重要なことは、必要に応じてリンクを再配置できるように、どのファイルが互いにリンクされているかを個別に記録しておくことです。復元します。可能であれば、シンボリックリンクに変換することでこの問題を解決することもできます。


次のハードリンクを見つけることができます。

find /home/me -links +1 -type f -printf '%n %i %D %p\n' | sort -n 

フォーマット文字列は%nリンク番号、%iinode番号%D装備ファイルが開いています%p。パス名。同じ inode 番号とデバイスを持つ行はハードリンクです。このデバイスは、ディレクトリツリーにマウントポイントがある場合にのみ役立ちます(他のデバイスの同じinodeは同じファイルではないため)。もちろん、ツリー外のファイルへのハードリンクはrsyncを介しても処理できません。

おすすめ記事