rsync를 사용하여 Mac에있는 디스크로 Ubuntu 서버를 백업하고 싶습니다. 그러나 초기 시간 후에 rsync 작업을 다시 실행할 때마다 특수 문자가있는 파일이 먼저 삭제 된 다음 다시 동기화되기 때문에 제대로 작동하지 않습니다. 다른 문자 집합에 문제가있는 것 같습니다.
선호하는 솔루션을 사용하는 것 같다 --iconv
옵션 :
rsync의 --iconv 옵션을 사용하여 최소한 Mac을 사용하는 경우 UTF-8 NFC와 NFD간에 변환 할 수 있습니다. UTF-8 NFD를 나타내는 특수한 utf-8-mac 문자 세트가 있습니다. 따라서 Mac에서 NAS로 파일을 복사하려면 다음과 같이 실행해야합니다.
rsync -a --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/
이렇게하면 모든 로컬 파일 이름이 UTF-8 NFD에서 원격 서버의 UTF-8 NFC로 변환됩니다. 파일 내용은 영향을받지 않습니다.
@Jan 덕분에 Mac의 rsync 버전을 2.6.9에서 업데이트했습니다 . 3.1.1. 여전히 더 이상 오류가 발생하기 때문에 여전히 거기에 없습니다.
iconv_open("UTF-8", "utf-8-mac") failed
rsync error: requested action not supported (code 4) at rsync.c(118) [sender=3.0.9]
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [Receiver=3.1.1]
내 우분투 (12.04)의 rsync 버전이 3.xx 이후이므로 --iconv
옵션을 지원해야하기 때문에 "요청 된 작업이 지원되지 않는 이유"를 이해하지 못했습니다 .
편집 : 내가 (맥이 아닌) Mac에서 Linux로 rsync를 시작할 때 모든 것이 훌륭하게 작동한다는 것을 추가하겠습니다.
rsync -av --delete --iconv=utf-8-mac,utf-8 localdir/ mynas:remotedir/
그러나 Mac에서 다른 방법으로 이동하면 작동하지 않습니다. 이상하게도 리눅스 머신에서 rsync를 시작하는 테스트는 다음과 같은 이상한 메시지를 렌더링합니다.
rsync: on remote machine: --iconv=UTF-8-MAC: unknown option
rsync error: syntax or usage error (code 1) at /SourceCache/rsync/rsync-45/rsync/main.c(1333) [server=2.6.9]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]
[server=2.6.9]
Mac에서 3.1.1로 업데이트되었지만 매우 이상한 주장을 포함합니다 . 어떤 이유로 든 내 리눅스 컴퓨터는 Mac의 원래 rsync 버전 만 '인식'합니다.
이 문제를 해결하는 방법에 대한 제안이 있으십니까?