rsyncを使用してディレクトリを外部ドライブにコピーすると、デバイスに余分なスペースがありません。エラー

rsyncを使用してディレクトリを外部ドライブにコピーすると、デバイスに余分なスペースがありません。エラー

ホームディレクトリを外部ドライブにミラーリングしようとすると、rsyncが失敗する問題があります。 rsync 呼び出しは(一般ユーザーとして)次のようになります.

rsync -avz --progress --delete-before /home /mnt/st5/

次のエラーが原因でこの操作は失敗します。

home/matt/vms/windows/10/disk.img
 40,002,387,968  28%   89.32MB/s    0:17:59  rsync: [receiver] write failed on "/mnt/st5/home/matt/vms/windows/10/disk.img": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(378) [receiver=3.2.3]

rsync: [sender] write error: Broken pipe (32)

/home/mattこのエラーは、使用可能以上のスペースがあることを示すようです/mnt/st5。しかし、私はこれが本当だとは信じていません。私のホームディレクトリのサイズは次のとおりです(ソースとターゲットは両方ともbtrfsファイルシステムです)。

matt@ryzen3950 ~/s/tools> btrfs fi du -s /home/matt
     Total   Exclusive  Set shared  Filename
 783.83GiB     6.15GiB   760.30GiB  /home/matt

1TBドライブを目指す:

matt@ryzen3950 ~/s/tools [11]> lsblk
NAME           MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sde              8:64   0 931.5G  0 disk  
└─sde1           8:65   0 931.5G  0 part  /mnt/st5

これに基づいて、約150GB程度の空き容量を残してrsyncを実行できると判断されます。

私はどこで間違っていますか?私のホームディレクトリは思ったより大きいですか?

ベストアンサー1

--inplaceの説明に従って使用してください。このサーバーに誤った回答があります私のために動作します。 rsyncが失敗したファイルサイズdisk.imgは130Gでした。これは問題に関するヒントを提供すると思います。私が理解したように、rsyncはターゲットにファイルのコピーを作成し、コピーが完了した後に既存のバージョンを置き換えます。つまり、2つのファイルのコピーがターゲットに同時に存在する可能性があるため、大容量ファイルをコピーするとスペースの問題が発生する可能性があります。--inplaceコピーが最初に作成されないように動作を変更します。

新しい完全なコマンドは次のとおりです。

rsync -avz --progress --delete-before --inplace /home /mnt/st5/

おすすめ記事