NTFS / FAT와 EXT 사이에서 rsync가 작동하지 않음


13

FAT32 USB 스틱에서 내 차에서 연주하는 음악이 있습니다. 노래를 넣을 때 사용하는 폴더는 EXT4 하드 드라이브에 저장됩니다. 노래를 정기적으로 추가 / 제거 / 태그 지정하고 때로는 rsyncUSB 스틱 변경을 원합니다 . 그러나 알 수없는 이유로 (권한이 있을까요?), rsync변경된 파일이 아니라 매번 모든 파일을 복사합니다. 나는 다음 rsync과 같이 부르고 있다 :

rsync -vrlptgD source dest

파일을 원하는대로 작동 시키려면 어떻게해야합니까 (예 : 파일이 변경되지 않았는지 복사하지 않은 경우)?

답변:


17

Javier Rivera의 답변은 효과가 있지만 rsync가 모든 파일 체크섬을 확인하고 비교하는 데 시간이 오래 걸립니다. 다음 옵션을 사용하면 나에게 더 효과적이라는 것을 알았습니다.

rsync -rtv --modify-window=1 /source /dest

--modify-window=1스위치는 타임 스탬프에서 ± 1의 편차를 허용합니다. 이 옵션을 활성화하면 타임 스탬프 비교가 더욱 관 대해지며 NTFS / FAT와 Unix 파일 시스템 간의 시간 차이를 살펴볼 수 있습니다.

출처 (ger) : http://www.kai-hildebrandt.de/tutorials/rsync.html

추신 : DST는 1 년에 두 번 전체 파일 전송을 유발할 것입니다. 자세한 내용과 가능한 해결책 은 여기 를 참조 하십시오 .


대단하다. 나는 --iconv소스 리눅스에서 dest MacOS로 갈 때도 유용한 옵션을 발견했다
wim

2
어떤 이유로 든 여전히 모든 파일을 복사 하기 modify-window=2때문에 사용해야 합니다. NTFS에서 FAT32로 복사 그 후에는 괜찮습니다. =1
Luc

--size-only크기가 일치하는 파일을 건너 뛰기 위해 플래그를 추가했습니다.
alexandre1985 1

1
@ alexandre1985 : 내용이 바뀌지 만 크기는 바뀌지 않는 파일은 생략됩니다. 내용이 변경 될 때 항상 크기가 변하는 파일 만 백업하려는 경우에만 사용해야합니다. 예를 들어 데이터는 파일에만 추가되지만 덮어 쓰지 않기 때문입니다.
David Foerster

11

FAT32의 타임 스탬프는 유닉스 타임 스탬프와 너무 달라 파일 변경을 확인하기 위해 의존합니다. -c 스위치도 사용해야합니다. rsync는 타임 스탬프에 의존하는 대신 모든 파일을 비교하여 변경 사항을 감지하도록합니다. 작동하지만 속도가 느립니다.

마지막으로, 명령에는 FAT32 파일 시스템에서 작동하지 않는 몇 가지 옵션이 있습니다.

  • -l은 링크를 보존합니다. FAT32에는 링크 개념이 없습니다.
  • -p는 권한을 유지하려고 시도하지만 FAT32에 대한 권한은 다시 없습니다
  • -t 수정 타임 스탬프를 유지하려고 시도합니다. FAT32에는 타임 스탬프가 하나만 있습니다.
  • -g는 FAT32에서 다시 지원하지 않는 그룹 소유권을 유지하려고 시도합니다.
  • -D는 특수 파일과 장치를 보존하려고 노력할 것입니다.

htorque가 말한 것처럼 잘못된 옵션은 당신을 해치지 않으며 아무것도하지 않습니다. 그러나 -c 스위치를 추가해야합니다.

이:

rsync -vrc source dest

작동해야합니다 (적어도 내 컴퓨터에서는 작동합니다).


3

OSX에서 비슷한 문제가 발생했으며 Glutanamate의 답변이 도움이되지 않았습니다. 일부 파일은 1 시간 씩 다릅니다. 시간대를 비교적 자주 교차하는 경향이 있기 때문일 수 있습니다. 다른 파일은 하루 또는 한 달 씩 꺼져 있습니다. 왜 그런지 잘 모르겠습니다. 타임 스탬프가 크게 다른 일부 파일을 체크섬하면 실제로 동일한 것으로 표시됩니다.

어쨌든 타임 스탬프를 무시하도록 --size-only지시 하는 옵션 처럼 보입니다 rsync. 제 목적으로 작동합니다. -c/ --checksum(Javier에서 언급했듯이)도 작동하지만 조금 더 오래 걸립니다. 시간을내어 작업중 인 하위 디렉토리에서 GB의 체크섬을 비교하는 데 약 1 분이 걸렸습니다. 물론 이런 일이 발생하는 속도는 시스템에서 가장 느린 드라이브에 달려 있습니다. 제 경우에는 휴대 전화의 SD 카드입니다. 그러나 이미 파일 검사 (체크섬 포함)를 수행 한 후 많은 파일이 이미 RAM 캐시에 복사되었을 수 있습니다.


1

또한 인기있는 -a 옵션을 사용하지 않아야합니다. FAT32에 대한 나의 추천은

 rsync -vrc --delete --progress --no-p source  destination

--no-p : 권한 없음

--delete : 대상에서 일치하지 않는 파일과 폴더를 삭제합니다 (실제로 원하는 경우)

--progress : 전송 중 진행률을 보여줍니다. 큰 파일에 좋습니다.


1
에 추가하더라도, 나에게 공감대를 -vrc가지십시오-vrcz
Antony

0

너무 많은 플래그 (-vrlptgD)를 사용하고 있습니다. rsync는 Linux 유틸리티이며 Fat32 및 NTFS와 효과적으로 작동하지 않습니다.

트릭을 사용하려면 사냥을해야합니다.

시험:

rsync -rvh --size-only --progress --delete /path/to/ext4/ /path/to/fat32/

더 많은 정보는 여기에

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.