ACL을 유지하면서 rsync를 사용하여 Time Machine 볼륨을 다른 디스크에 복사하는 방법은 무엇입니까?


9

최근에는 Mac의 파일 시스템을 대 / 소문자 구분에서 대 / 소문자 구분으로 변경해야했습니다. CCC를 사용하고 다른 디스크에 데이터를 복사 한 다음 새로 포맷 된 주 디스크로 다시 되돌려 서 수행했습니다.

이제는 FreeBSD 기반 NAS에서 호스팅되는 AFP를 통해 내 오래된 Time Machine 디스크에서 Time Machine 백업을 수행하려고했습니다. 그러나 Time Machine에는 여전히 대소 문자를 구분하지 않는 fs가 있으므로 파일 시스템이 일치하지 않는다는 오류가 발생합니다. 이번에는 Time Machine 볼륨에 대한 파일 레벨 사본을 지원하지 않으므로 CCC를 사용할 수 없습니다.

당연히, 나는 rsync를 위해 똑바로 갔지만 문제가 발생합니다.

/usr/local/bin/rsync --super -aEHAXNvx --fileflags --delete /Volumes/Time\ Machine\ Backups/ /Volumes/NewDisk/

Backups.backupdb/<machinename>와 함께 폴더에 도달하자마자 불평을 시작 합니다 failed to set permissions, operation not permitted. 여기서 문제는 ACL을 복사하는 것인데, 이는 매우 제한적입니다.

 ll -dle /Volumes/Time\ Machine\ Backups/Backups.backupdb/<machinename>/
 drwxr-xr-x@ 19 root  staff  646 Dec 23 09:38 /Volumes/Time Machine Backups/Backups.backupdb/<machinename>/
 0: group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown

따라서 -A위의 명령에서 제거 했으며 rsync는 이제 행복하게 GB의 데이터를 이동합니다.

아아, ACL도 보존하고 싶습니다. 어떻게 든 가능합니까? OS X에는 getfacl / setfacl이 없으므로의 출력 구문 분석을 피하고 싶습니다 ls -le. 여기에서 해결책으로 보는 것은 rsync에게 ACL을 "뒤로"(즉, 리프 파일에서 디렉토리까지) 적용하도록 지시하는 것입니다. 그러나 그 옵션은 없습니다.


대상 엔드의 rsync가 해당 파일을 chmod 할 권한이있는 사용자로 실행 중입니까?
harrymc 2016 년

이것은 명백한 질문 일 수 있지만 대상 볼륨에서 ACL 지원이 설정되어 있습니까? 당신은 Mac에 복사하고 있음을 암시하지만, 그 경우 그 끝에있는 사용자가 원본 파일과 동일한 사용자 ID가 아닌 경우가 아니면 간단하게 작동해야합니다.이 경우 아마도 설정해야합니다 루트를 사용하도록 전환하십시오 (분명히 좋은 것은 아니지만 다른 사람에게 소유권을 설정하는 권한 문제를 처리합니다).
Tom Scogland 2016 년

또한이 사용자 계정은 대상에 대해 정의되어야합니다. 그렇지 않으면 소유자를 설정할 수 없습니다.
harrymc

답변:


3

Homebrew를 사용하여 rsync 버전 3을 다운로드하십시오. 그런 다음 "--acls"옵션을 사용해보십시오. Mac의 rsync에는 다른 운영 체제와 약간 다른 명령 줄 구문이있는 것 같습니다. 이 링크를 살펴보고 싶을 것입니다.http://nicolasgallagher.com/mac-osx-bootable-backup-drive-with-rsync/ . rsync 3을 얻는 방법과 그가 사용하는 명령 줄 인수에 대해 설명합니다.

OSX 사용자는 아니지만 rsync를 사용하여 아내의 Mac을 Linux 서버에 백업합니다.


2

-E 옵션을 사용하는 경우 최소한 OS X 10.4 이상에서 rsync는 ACL 속성을 전송합니다. 매뉴얼 페이지를 참조하십시오.


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