현재 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
어떤 경우에는 작동하고 다른 경우에는 실패하는 이유와 이것이 파일 유형 또는 폴더 크기와 관련이 있는지 설명할 수 없습니다 .
어떤 아이디어라도 환영합니다.