rsync, 그리고 Encoding

회사에서 주로 음악을 다운로드 받다보니… 해당 데이터를 집에 있는 서버로 동기화 시킬 필요가 있었다.

음악은 사서 듣는 것이 좋습니다 ㅇㅅㅇ

동기화는 맥 미니 OSX 에서 Odroid 우분투로 진행해야 했다. 그래서 새로 프로그램을 짤까… 아니면 다른 프로그램을 설치할까 고민하다가… 역시 기본적인 툴이 좋겠거니 해서 rsync를 사용하기로 했다.

rsync -av [Music_Direcotry] [Server_ID]@[Server_Address]:[Server_Path]

 

너무 쉬운 명령어다. 물론 패스워드는 그전에 public 키로 자동 로그인 되도록 하였다.

 

아무튼… 이렇게 했는데 동기화가 잘된다. 그런데 살짝 이상한 점을 찾았다.

# ls
한글1 한글2 한글3
# cd 한글1
-bash: cd: 한글1 : No Such file or directory

위의 테스트 결과를 보면 ls 할 경우 정상적으로 디렉토리가 보인다. 한글이 깨지지도 않고 정상적이라는 것을 확인할 수 있다. 그런데… 디렉토리 이동을 할 경우 찾을 수 없는 디렉토리라고 한다.

 

멘탈이 살살 녹아내렸다. 그렇다고 디렉토리가 아에 없는 것은 아니었다.

ls */*
.
.
.

위와 같이 */* 로 검색을 하면 정상적으로 파일은 보였기 때문이다.

 

그래서 한참을 구글링하다 보니 rsync의 인코딩 문제가 아닐까 하는 의심이 생겼다. 그래서 rsync encoding 이란 내용으로 구글링 해보민 –iconv= 옵션을 사용하면 정상적으로 사용할 수 있다고 한다.

근데… OSX 기본 rsync는… –iconv 옵션이 없다. 그래서 먼저 brew로 설치를 다시 해주고 테스트 해보기로 한다.

brew install rsync

내 예상이 맞았는지 새로운 rsync가 설치된다. 새롭게 설치된 rsync의 주소는 아래와 같았다.

/usr/local/Cellar/rsync/[VERSION]/bin/rsync

기존 명령어를 새로운 명령어로 대치할 수 있지만 추후 문제가 될 수도 있다는 생각이 들어 해당 버젼은 그대로 두고 아래와 같이 명령어를 작성해주었다.

/usr/local/Cellar/rsync/3.1.2/bin/rsync -av --iconv=utf-8-mac,utf-8 [Source] [Destination]

위의 명령어 사용 후 정상적으로 디렉토리에 접근 가능함을 확인하였다.

 

답글 남기기

이메일은 공개되지 않습니다.