tips-linux cwRSync rsync

몇 달 전에 올린 “윈도우에서 scp 간편하게 사용하기“와 비슷한 것입니다.
이 번에는 rsync를 이용하는 것입니다.
scp와 비교했을 때 장점은 한글 파일명이 그대로 유지된다는 것과 rsync의 기능을 이용한다는 것입니다.
전 한글 처리 문제 때문에 이 방법으로 사용합니다. scp에서 설명했던 서버로 전송 후 한글 파일명으로 변환하는 작업이 필요없습니다.

먼저 이 팁의 결과로 사용하게 될 방법은 아래와 같습니다.
사용자 삽입 이미지 서버로 전송할 파일이나 디렉토리를 선택하고 마우스 오른쪽 버튼을 눌러 클릭만 해주시면 미리 지정된 서버의
특정 위치로 전송됩니다. 디렉토리 선택 시 그 안에 있는 모든 파일이 전송됩니다.
사용자 삽입 이미지
  다음은 이 팁에서 필요한 파일입니다.

1127416995.reg          – 쉘 컨텍스트 메뉴를 만드는 레지스트리 파일

CygwinPath.exe      – 탐색기에서 선택된 파일의 경로를 Cygwin 형식의 경로로 변환하고, rsync를 실행하는 프로그램

1255671199.dll        – 한글 파일명 지원 dll 파일(cwRsync 4.0.4부터는 필요없습니다. ermaker 님 제보. 2010-04-05)
<p>
  <span style="background-color: rgb(208, 255, 157);">1. rsync 설치</span>
</p>

<p>
  먼저 윈도우에서 rsync를 사용하기 위해 아래 링크에 있는 cwRsync를 설치합니다.<br /><span style="color: rgb(0, 0, 255);">http://cdnetworks-kr-1.dl.sourceforge.net/project/sereds/cwRsync/4.0.4/cwRsync_4.0.4_Installer.zip</span>
</p>

<p>
  <span style="text-decoration: line-through;">한글 파일명을 지원하기 위하여 첨부된 </span><a style="color: rgb(0, 0, 255); text-decoration: line-through;" href="https://isulnara.com/tt/attachment/1255671199.dll">cygwin1.dll</a><span style="text-decoration: line-through;">을 cwRsync가 설치된 bin 디렉토리(c:\Program Files\cwRsync\bin\)에 덮어쓰기합니다.</span><span style="color: rgb(255, 118, 53);">(cwRsync 4.0.4부터는 필요없습니다.<br /> 2010-04-05)</span></div> 
  
  <p style="text-align: left;">
    파일 전송시 암호를 물어보는 것을 없애기 위해서는
  </p>
  
  <p style="text-align: left;">
    <span class="m-tcol-c" style=""><span style="color: rgb(0, 0, 255);">ssh-keygen.exe -t rsa</span> 를 실행한 후 아래와 같은 메시지가 보이면..</span>
  </p>
  
  <p style="text-align: left;">
    <span class="m-tcol-c" style=""></p> 
    
    <blockquote>
      <div style="padding: 10px; background-color: rgb(228, 228, 228);">
        Enter file in which to save the key (/home/root/.ssh/id_rsa):
      </div>
    </blockquote>
    
    <p>
      </span>
    </p>
    
    <p style="text-align: left; color: rgb(0, 0, 255);">
      <span class="m-tcol-c" style="">c:\Documents<br /> and Settings\Administrator\.ssh\id_rsa</span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">를 입력(</span><span class="m-tcol-c" style="">접속한 윈도우 계정에 적절히 수정</span><span class="m-tcol-c" style="">)하고, 엔터키를 칩니다.</span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">그 이후 물어보는 passphrase는 그냥 엔터키를 두 번쳐서 넘어갑니다.<br /></span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">c:\Documents<br /> and Settings\Administrator\.ssh\에(접속한 윈도우 계정에 따라 경로는 달라질 수 있습니다) 생성된<br /> <span style="color: rgb(255, 0, 0);">id_rsa.pub</span>의 내용을 서버의 <span style="color: rgb(255, 0, 0);">authorized_keys</span>에 추가합니다.</span><span class="m-tcol-c" style=""><br /></span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">위 과정까지 되면 cwRsync가 설치된 디렉토리에 가서 명령 프롬프트에서 ssh root@서버IP 명령으로 접속되는지 확인해보세요.. 접속되어야 됩니다.</span>
    </p>
    
    <p style="text-align: left;">
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style=""><span style="background-color: rgb(208, 255, 157);">2. CygwinPath 설치</span><br /></span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">첨부된 파일 중 <a style="color: rgb(0, 0, 255);" href="https://isulnara.com/myAPP/etc/CygwinPath.exe">CygwinPath.exe</a>를 받아서 특정 위치에 복사합니다.</span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">이 프로그램은 <span style="color: rgb(255, 51, 153);">쉘컨텍스트 메뉴를 통해 클릭된 파일 또는 디렉토리의 경로를 Cygwin 형식의 경로로 변환하고, 넘겨받은 첫 번째 파라미터 정보를 이용하여 프로그램을 실행</span>하는 역할을 합니다.</span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style="">즉, c:\tmp\abc.zip과 같은 형식을 /c/tmp/abc.zip 형식으로 변환하고, rsync.exe를 실행하는 기능을 합니다.<br /></span>
    </p>
    
    <p style="text-align: left;">
      <span class="m-tcol-c" style=""><br /></span>
    </p></div> 
    
    <p>
      <span style="background-color: rgb(208, 255, 157);">3. 쉘 컨텍스트 메뉴 추가</span>
    </p>
    
    <p>
      첨부된 파일 중 rsync.reg를 받은 후 확장자가 .reg가 아니면 .reg로 수정한 후 텍스트 편집기에서 열어서 CygwinPath.exe의 위치, 설치한 rsync.exe의 위치, 전송할 서버의 정보, 컨텍스트 메뉴명을 수정하고 저장한 후 더블클릭하여 레지스트리에 추가하면 됩니다.
    </p>
    
    <p>
      아래에 보이는 것처럼 경로 설정 시 주의바랍니다. <span style="color: rgb(255, 0, 0);">\\ 두 개</span>입니다.
    </p>
    
    <fieldset class="geshi r2 g_hascaption">
      <legend><span class="g_caption">쉘 컨텍스트 메뉴 레지스트리</span> <span class="g_lang" style="color: rgb(170, 170, 170);">(Language : text)</span></legend> 
      
      <div class="code">
        Windows Registry Editor Version 5.00</p> 
        
        <p>
          [HKEY_CLASSES_ROOT\*\Shell\<span style="background-color: rgb(255, 218, 237);">FFT.kr(/volume1/tmp/)에 올리기(rsync)</span>\Command]@=&#8221;<span style="background-color: rgb(250, 255, 169);">X:\\Utility\\network\\CygwinPath.exe</span> \&#8221;<span style="background-color: rgb(208, 255, 157);">C:\\Progra~1\\cwRsync\\bin\\<span style="background-color: rgb(255, 255, 255);">rsync.exe</span></span> -avzP &#8211;chmod=ug=rwx &#8211;delete -e <span style="background-color: rgb(208, 255, 157);">c:\\Progra~1\\cwRsync\\bin\\</span>ssh.exe /cygdrive/[%1] <span style="background-color: rgb(153, 204, 102);">root@fft.kr:/volume1/tmp</span>\&#8221;&#8221;
        </p>
        
        <p>
          [HKEY_CLASSES_ROOT\Directory\shell\<span style="background-color: rgb(228, 228, 228);">FFTkr_rsync</span>]@=&#8221;<span style="background-color: rgb(255, 218, 237);">FFT.kr(/volume1/tmp/)에 올리기(rsync)</span>&#8220;
        </p>
        
        <p>
          [HKEY_CLASSES_ROOT\Directory\shell\<span style="background-color: rgb(228, 228, 228);">FFTkr_rsync</span>\command]@=&#8221;<span style="background-color: rgb(250, 255, 169);">X:\\Utility\\network\\CygwinPath.exe</span> \&#8221;<span style="background-color: rgb(208, 255, 157);">C:\\Progra~1\\cwRsync\\bin\\</span>rsync.exe -avzP &#8211;chmod=ug=rwx &#8211;delete -e <span style="background-color: rgb(208, 255, 157);">c:\\Progra~1\\cwRsync\\bin\\</span>ssh.exe /cygdrive/[%1] <span style="background-color: rgb(153, 204, 102);">root@fft.kr:/volume1/tmp/</span>\&#8221;&#8221;
        </p>
      </div>
    </fieldset>
    
    <p>
      위 설정에서 rsync의 옵션을 적절히 수정하여 사용해도 됩니다.
    </p>
    
    <p>
      <span style="background-color: rgb(208, 255, 157);">4. 테스트</span>
    </p>
    
    <p>
      탐색기에서 파일 또는 디렉토리를 선택하고, 마우스 오른쪽 버튼을 클릭하여 파일을 전송합니다.<br />서버로 접속하여 파일이 전송되었는지 확인합니다.<br />파일의 그룹 소유자가 401처럼 숫자로 나올 경우 /etc/group에 해당 그룹ID(401)를 가진 그룹을 추가하면 됩니다.
    </p>