--link-dest가 활성화된 경우 이상한 rsync 동작

--link-dest가 활성화된 경우 이상한 rsync 동작

현재 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. 세 개의 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    .

두 번째 실행:

$ du -h --max-depth=1
756M    ./10-10-2021-22:07
756M    .

이것오직스크립트에 대한 변경 사항은 소스 폴더였습니다. source=/mnt/c/Users/user/Desktop/XXX/.다른 변경 사항은 없습니다.

--link-dest어떤 경우에는 작동하고 다른 경우에는 실패하는 이유와 이것이 파일 유형 또는 폴더 크기와 관련이 있는지 설명할 수 없습니다 .

어떤 아이디어라도 환영합니다.

관련 정보