現在、Win10(WSL)の一部のファイルをDebianボックスにバックアップするrsync
オプションを使用しています。--link-dest
一部のフォルダでは、ハードリンクが正常に動作し、他のフォルダでは完全に無視される奇妙な動作を観察しました。
これは私のスクリプトです。
#!/bin/bash
# set date
date='date +"%d-%m-%Y-%H:%M"'
# Source
source=/mnt/c/Users/user/Desktop/test/
# Partial destination
dest=/media/external/user/laptop/desktop/
# log into server and retrieve last updated folder
last=`ssh -p XXXX -i ~/key [email protected] 'cd '$dest'; ls -ct | head -n 1'`
# --link-dest from the last updated folder
link_dest=/media/external/user/laptop/desktop/$last
rsync -PaSh --mkpath --delete --link-dest=$link_dest --stats -e 'ssh -p XXXX -i ~/key' $source [email protected]:$dest`$date/`
一貫性がありません--link-dest
。 3つのpng画像ファイルを含む小さなテストフォルダは正常に動作します。
初めて実行すると、すべてのファイルが完全に転送されます。
--link-dest
後続の実行では、転送の変更(存在する場合)のみが正しく選択され、選択されます。
$ du -h --max-depth=1
304K ./10-10-2021-12:46
4.0K ./10-10-2021-12:51
4.0K ./10-10-2021-12:47
4.0K ./10-10-2021-12:49
320K .
一部のWordファイルを含む小さなフォルダでも同じ結果が得られました。
ただし、より大きなフォルダ、jpg画像ファイルなどの他のフォルダの場合、後続の実行では変更されたファイルだけをコピーせずに元のフォルダが上書きされます。
たとえば、ソースは次のように実行されます。
$ du -h --max-depth=1
756M ./10-10-2021-22:04
756M .
2回目の実行:
$ du -h --max-depth=1
756M ./10-10-2021-22:07
756M .
これただスクリプトへの変更はソースフォルダでした。source=/mnt/c/Users/user/Desktop/XXX/
他の変更はありません。
--link-dest
場合によっては機能し、他の場合は失敗する理由と、これがファイルの種類またはフォルダのサイズに関連しているかどうかを説明できません。
どんなアイデアでも大歓迎です。