FAT 파일 시스템에서 rsync를 어떻게 사용합니까?


27

일부 데이터를 FAT 드라이브에 저장하는 간단한 백업 스크립트를 작성하고 싶습니다. 드라이브를 다시 포맷하고 더 나은 파일 시스템을 사용해야합니까, 아니면 FAT와 함께 rsync를 사용할 수 있습니까? 그렇다면 어떤 문제가 발생할 수 있습니까? 성능이 훨씬 나빠질까요?

편집 : 이것은 Linux에 있으며 Windows 용 rsync가 있다는 것을 몰랐습니다. 소스는 다양한 파일 시스템 (엉망 임)이며 대상은 현재 FAT32로 포맷되어 있습니다.

답을 주셔서 감사합니다. 파일 크기가 확실하지 않기 때문에 다시 포맷해야 할 것입니다.

답변:


10

가능하다면 리눅스 fs로 다시 포맷하는 것이 좋습니다. 언급 한 바와 같이, FAT는 파일 크기 제한이 비교적 낮으며 권한과 소유권을 제대로 처리하지 못할 수 있습니다. 더 중요한 것은 FAT는 ext3과 같이 파일의 수정 시간을 정확하게 추적하지 않는다는 것입니다 (FAT는 2 초 범위 내에서만 정확함). rsync를 사용하면 데이터를 다시 복사하거나 해시를 다시 확인해야 할만큼 원본 파일이 백업 파일보다 더 최신이거나 오래되었다고 결정하기 때문에 rsync를 사용하면 특히 불쾌한 동작이 발생합니다. 대체로 백업 성능이 매우 떨어집니다. FAT 를 사용해야하는 경우 해결 방법으로 rsync의 --size-only 및 --modify-window 플래그를 확인하십시오.


36

rsync를 사용하여 Linux (Ubuntu 10.4)를 실행하는 랩톱에서 저장하고 처리하는 사진을 백업합니다. FAT32로 포맷 된 1TB 하드 디스크가있는 매우 기본적인 NAS로 백업했습니다. NAS 케이스와 펌웨어는 매우 기본적이므로 드라이브를 다시 포맷 할 수 없습니다.

내가 사용하는 명령은 다음과 같습니다.

$ rsync --progress --modify-window=1 --update --recursive --times \
  /home/mloskot/Pictures /mnt/nas/Pictures

정확한 시간 비교를 위해 --modify-window = 1 옵션이 사용됩니다. FAT32는 Linux에서 사용되는 파일 시스템과는 다른 2 초 해상도로 파일 타임 스탬프를 기록하기 때문입니다. 기존 파일의 불필요한 복사를 피하기 위해 --update는 증분 백업처럼 동작합니다.

크기 기반 비교를 수행하기 위해 --size-only 옵션을 지정할 수 있습니다.


공유 주셔서 감사합니다, 나는 당신의 플래그 조합을 확인합니다 :-) rsync 매뉴얼은 약간 부피가 크다 ...
DutchUncle

3
--modify-window = 1은 큰 차이를 만듭니다. 해결되었습니다-이제 몇 분이 아닌 밀리 초 단위로 완료되었습니다.
Wolfgang Fahl

4
어떤 이유로 나는을 사용해야 --modify-window=2합니다. 사용 1하면 여전히 모든 파일을 복사합니다. NTFS에서 FAT32로 복사
Luc

때때로 --modify-windowrsync를 사용 하더라도 rsync는 모든 파일을 복사해야한다고 주장합니다. --size-only지금 옵션을 사용하고 있으며 정상적으로 작동합니다. 그것은 맥 OS 확장 (대소 문자 구분, 저널링)에서 FAT32까지였습니다.
diachedelic

FAT32에 맞지 않는 파일에서 충돌이 발생하지 않도록 '--ignore-errors --max-size = 4GB'를 추가하는 것이 좋습니다.
Maksym

2

리눅스에서 FAT (어떤 FAT의 버전?) 디스크와의 rsync입니까? 아니면 Windows 버전 cwRsync를 사용하고 있습니까?

FAT16과 32는 두 버전에서 모두 작동합니다 (FAT12를 직접 시도하지는 않았습니다). 리눅스 시스템을 사용하는 경우 FAT 파일 시스템의 성능이 일반적으로 Linux 형식의 파일 시스템을 사용하는 것보다 약간 나 빠질 것으로 예상합니다. 일반적으로 약간 느립니다. 잘못된).


1

예, 다시 포맷하십시오! 호환성 문제가 아닌 한 항상 FAT보다 나은 파일 시스템을 사용해야합니다!

재 동기화하는 것과 동일한 파일 시스템을 사용하여 드라이브를 포맷하는 것이 좋습니다. 그렇지 않으면 파일 및 디렉토리에 설정된 권한 및 속성이 손실 될 수 있습니다.

FAT (아마도 FAT32)는 최대 파일 크기 (4GB), 최대 볼륨 크기 (2Tb-언젠가!), 조각화 등으로 인해 문제가 될 수 있습니다.

그러나이 중 어느 것도 중요하지 않고 간단하고 빠르며 최대 호환되는 파일 시스템을 원한다면 FAT가 좋습니다. 현명하게도 저널링, 권한 등이 없기 때문에 FAT는 NTFS / Ext3 / HFS ...를 대체 할 수 있습니다.


1

FAT 드라이브를 사용하는 이유가 있습니까? Rsync는 데이터를 저장하기 위해 작동해야하지만 파일 소유권, 권한 등에 대한 메타 정보가 손실되며 FAT의 파일 크기 제한이 2 기 가기 때문에 큰 파일을 재 동기화하면 문제가 발생할 위험이 있습니다.

내가 말할 수없는 성능, 다른 벤치 마크와 비교하여 벤치 마크를 한 적이 없습니다. 또한 드라이브 자체 사양 및 파일 시스템과 관련이 있다고 생각합니다.

당신이 경우 , 내가 네이티브 형식으로 포맷 거라고 넌 계획 컴퓨터 (OS X? 리눅스?)로 사용하는, 메타 데이터를 유지하고 나는 종료 할 때 몇 개월 만에 이마 뺨을 잃고 아무것도 다른 것보다 경우 파일 시스템 제한으로 인해 오류가 발생한 것을 동기화합니다. 내보내기를 통해 다른 시스템과 공유하는 경우가 많거나 NTFS를 사용하는 경우 일부 메타 데이터는 유지할 수 있지만 Mac, NT 및 Linux는 모두 NTFS R / W 기능을 지원하므로 대부분의 시스템 간 호환성을 얻을 수 있습니다.

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