블로그 이미지
.NETer

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Notice

'Reflection .NET/Engineering'에 해당되는 글 1

  1. 2008.12.17 배포를 통한 파일, 폴더 동기화 방법
2008. 12. 17. 10:43 Reflection .NET/Engineering

프로젝트를 진행하다 보면 배포를 위해 파일 또는 폴더를 동기화 해야 하는 상황이 많이 연출 되고 있다. 서버가 2대 정도까지는 그냥 스크립트로 파일, 폴더 동기화가 가능하지만 서버가 3대 이상 되면 일일이 복사를 하는 것도 쉽지 않다. 예를 들어 웹 서버가 5대가 존재하고 애플리케이션 서버 또한 5대가 존재 한다고 하면 배포의 문제가 분명 대두 될 것이다. 이번 글에서는 배포 솔루션을 만드는 것이 아니고, 가장 기본적인 명령을 이용하여 파일, 폴더를 동기화 하여 배포를 쉽게 할 수 있는 방법을 정리하는 차원이다. 향후 시간이 되면 배포 솔루션을 만들기 위한 조건 및 실제 배포 솔루션을 만들어 보겠다.

 

그럼 처음으로 해야 할 일이 파일, 폴더를 동기화 하는 방법이 뭐가 있는지 찾아 본 결과

  1. DFS (Distributed File System) : Windows 2003의 Active Directory 기반에서 수행 되는 분산 파일 시스템으로 폴더를 복제하는데 탁월한 기능을 가지고 있다. 이 기능의 경우는 파일만 복사 되면 알아서 다른 서버로 복제가 되는 장점을 가지고 있다. 다만 서버들이 AD에 조인 되어 있어야만 사용 가능하기 때문에 AD를 사용하지 않는 곳에서는 맞지 않는 환경 인 듯 하다.
  2. robocopy.exe : Windows 2003 Resource Kit Tools에 포함 되어 있는 기능으로 Command 창에서 수행 되는 프로그램으로 상당히 매력 있고 강력한 기능을 가지고 있다. (http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en 에서 다운로드 가능하다.) 사실 파일 하나만 있어도 사용이 가능하다. Command 창에서 수행 되므로 스크립트를 만들기도 용이 하고 만들어진 스크립트를 예약 작업에 추가 하기도 용이 한 장점을 가지고 있다. 단점이라면 사용하는 방법이 문제인데 사실 파일, 폴더의 동기화만 생각한다면 하나의 옵션만 알면 가능하다.
  3. robocopy GUI : robocopy.exe의 기능을 GUI로 구현한 것으로 Windows 환경에서 그래픽컬 하게 수행 되는 어플리케이션으로, 비쥬얼하게 볼 수 있는 장점은 있지만, 예약 작업에는 어짜피 robocopy.exe를 사용해야 하기 때문에 크게 쓸 필요가 없어 보인다. 자세한 설명은 http://technet.microsoft.com/ko-kr/magazine/2006.november.utilityspotlight.aspx 사이트에서 확인 할 수 있고, 다운로드 받을 수도 있다.
  4. SyncToy 2.0 : 이 것도 마이크로소프트에서 제공하는 자료로 .NET Framework 기반에서 수행되는 폴더 또는 파일 동기화 프로그램이다. robocopy GUI와 마찬가지로 Windows UI로 수행 된다. 이 프로그램은 속도는 늦지만 예약 작업에 추가 할 수 있는 기능을 제공 하고 있기 때문에 간단히 사용할 수 있다. (http://www.microsoft.com/downloads/details.aspx?FamilyId=C26EFA36-98E0-4EE9-A7C5-98D0592D8C52&displaylang=en)

그 외 Shareware, 혹은 상업용 프로그램도 많이 있지만 위의 4가지 중에 하나를 이용하면 충분히 파일, 폴더 동기화가 가능할 것이다. 개인적으로는 robocopy.exe 가 가장 사용하기 쉽고 원하는 형태로 사용가능 하다.

 

2008년 12월 17일 아직도 회현에서 .NETer

posted by .NETer
prev 1 next