..png)
저는 rsync를 사용하여 Mac 노트북의 파일을 Windows 노트북의 USB 드라이브(exFAT)로 백업하고 있습니다. USB 드라이브는 내 홈 네트워크 내에서 공유되고 내 Mac에 마운트됩니다.
파일을 수정하기 위해 아무것도 하지 않았음에도 rsync가 모든 파일을 다시 보낼 때 이상한 문제를 발견했습니다.
전원을 켜면 모든 파일의 출력에 --itemize-changes
해당 내용이 t
표시되어 파일 타임스탬프가 재전송 이유임을 나타냅니다.
>f..t.... netstat.txt
ls -lT
(macOS)은 파일 간의 1초 차이를 보여주는 초 형식의 타임스탬프를 나타내며 소스는 더 최신입니다.
$ ls -lT source/file.txt
-rwxr----- 1 user group 1176 Sep 19 22:32:59 2014 file.txt
$ ls -lT destination/file.txt
-rwx------ 1 user group 1176 Sep 19 22:32:58 2014 file.txt
rsync에 옵션을 추가하면 -c
타임스탬프 차이를 무시하고 불필요한 전송을 건너뛰었습니다. 그러나 소스 파일과 대상 파일의 타임스탬프 차이가 1초인 이유를 알고 싶습니다.
답변1
파일 시스템이 시간을 다르게 처리할 수 있다는 것을 알고 있으므로 이것이 불일치의 원인일 가능성이 높습니다. 를 사용하여 Mod-Time 비교의 임계값을 조정할 수 있습니다 --modify-window
.
# Ignore up to a 5 second difference. Tighten up as desired.
rsync --modify-window=5 do whatever...
자세한 내용은 다음에서 확인할 수 있습니다.Rsync 매뉴얼 페이지.
--수정 창
두 개의 타임스탬프를 비교할 때 rsync는 타임스탬프가 수정 창 값만큼만 다른 경우 타임스탬프를 동일한 것으로 간주합니다. 이는 일반적으로 0(정확한 일치의 경우)이지만 일부 상황에서는 이 값을 더 큰 값으로 설정하는 것이 유용할 수 있습니다. 특히, MS Windows FAT 파일 시스템(2초 해상도로 시간을 나타냄)과 주고받을 때,--수정-창=1유용합니다(시간이 최대 1초까지 다를 수 있음).