Microsoft MVP성태의 닷넷 이야기
폴더 백업( 동기화 ) 프로그램 [링크 복사], [링크+제목 복사]
조회: 7145
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
[synch.zip]    

물론... 맘만 먹으면 언제든지... 모두들 만드실 수 있겠지만.
 
사실... 개발자에게 자신이 만든 컴퓨터 소스는 참 중요하죠. ^^
그런데... 딱히 그런 용도의 백업 프로그램이 없는 것으로 아는데요.
 
개발자의 경우에는, 무조건 동일한 내용의 복사본을 다른 컴퓨터에 저장하는 것이 좋지 않을까 해서...
하지만... 매번 90% 정도가 똑같은 파일들을 시간을 소비해가면서 복사하려다 보니... 워낙에 귀찮아야 말이죠.
 
그리고... 저도 딱한번 그런 경우를 당했었는데...
모르고, 백업 컴퓨터의 파일들을 제 작업 컴퓨터로 복사하는 바람에 며칠간 고생한 소스들이 통째로 날아간적도 있습니다.
 
그래서 만들어본 프로그램입니다.
 
이 프로그램은....
 
1. 원본과 대상 컴퓨터의 파일을 비교해서 최신의 파일/폴더만을 원본 또는 대상 컴퓨터로 복사해 줍니다.
 
2. 만약, 원본 컴퓨터에 대상컴퓨터가 갖고 있지 않은 파일/폴더가 있는 경우.... 당연히 대상 컴퓨터로 복사합니다.
 
3. 만약, 대상 컴퓨터에 원본 컴퓨터가 갖고 있지 않은 파일/폴더가 있는 경우... 3가지 옵션을 통해서 복사방식을 지정합니다.
   3.1 원본에 없는 폴더/파일이 대상폴더에 있는 경우 삭제
   3.2 원본에 없는 폴더/파일이 대상폴더에 있는 경우 원본으로 복사
   3.3 아무런 동작하지 않음.
 
4. 어떤 경우에는 대상컴퓨터로의 복사를 원치 않는 파일이 있습니다. 예를 들어, "*.OBJ" 파일 같은 경우... 쓸데없이 시간만 잡아먹죠.
    그런 것들은 XML 로 된 설정파일을 편집하여 지정할 수 있습니다.
 
5. 어떤 경우에는 대상컴퓨터로 복사를 원치 않으면서... 동시에 삭제가 되기를 바라는 파일들이 있습니다. 예를 들어, "*.PCH" 파일들. 기본적으로 컴파일로 인해 10MB 가량되는 파일인데... 그런 경우, 동기화하는 동안 자동으로 원본에서 삭제처리를 해줍니다. 물론, XML 로 된 설정파일에 지정할 수 있습니다.
 
6. 설정 파일의 이름규칙이... "실행파일명.exe.config.xml" 인데... 따라서 실행파일명을 바꾸고 XML 파일의 이름을 바꿔준다면 지정된 폴더를 전용으로 동기화시키는 프로그램을 만들수 있습니다. 저 같은 경우...
synch_wwwroot.exe
synch_wwwroot.exe.config.xml
 
synch_workshop.exe
synch_workshop.exe.config.xml
 
과 같은 식으로 실행파일과 XML 파일을 두었습니다. synch_wwwroot.exe 를 실행하면... D:\workshop\wwwroot 폴더만을 대상 컴퓨터로 동기화시키는 설정이 되어 있고, "동기화실행" 버튼을 누르기만 하면 됩니다.
 
 
소스도 동봉하오니.... 취향에 맞게... 수정하셔서... 쓰시기를... 거의 수정하지 않으셔도 될 것 같습니다.
근데... 혹시 본인이 소유하고 계신 "개발자 전용" 백업 프로그램들이 있으신지.... "소스세이프" 빼고... ^^; 추천받습니다.

참고로, 이 프로그램은 ".NET Framework / C#" 으로 개발했습니다.
 








[최초 등록일: ]
[최종 수정일: 5/30/2007]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2005-11-30 09시08분
괜히 만들었음.... RoboCopy.exe 가 있다는 것을 알았으면 안 만들었을 텐데. ^^;
kevin25
2007-05-29 09시13분
[정여진] 정책임님...^^...완전 감사합니다..^^
잘 쓸께요..ㅋㅋ
담엔 제가 이 버전보다 더 업글해서 올릴께요....ㅋㅋㅋ

[guest]
2007-05-29 05시22분
개인적으로도 ^^ robocopy.exe 를 사용합니다. 그냥 C# 예제 프로그램 중의 하나라고 생각하세요.
참고로, 업글하신다고 하니... 잠깐 힌트를 드리면.
최근의 백업 프로그램들이 "차등 백업"을 지원하더군요. 예를 들어, 2GB 파일이라면 겨우 1byte 바뀌었는데 2GB 전체를 파일 전송하는 것은 꽤나 비효율적이죠. 제 생각에는 아마 일정 단위별로 해쉬를 만들어 두어서, 그걸 먼저 비교해 보고 해당 단위만 백업하는 것도 좋겠지요. ( 생각하기 나름 ).
kevin25
2007-06-27 09시37분
[우정환] CVS 는 어떤가요?
WinCVS 써볼만 하던데요...
[guest]
2007-06-27 10시13분
버전 관리랑은 다른 경우이지요.
예를 들어, ^^ 10GB 짜리의 VPC 파일을 동기화 시켜야 하는데 그걸 CVS 로 관리하면... 버전관리가 되어질텐데... ^^; 몇 번만 관리되었다가는 하드 디스크가 체할 것 같습니다. ^^
kevin25

[1]  2 
NoWriterDateCnt.TitleFile(s)
37정성태6/7/2016729MSBuild Structured Log: record and visualize your builds
36정성태10/20/20062998SmallTool ver 1.0.1.2 - 변경된 점
34정성태7/27/20062388SmallTool ver 1.0.1.1 - 변경된 점
35정성태7/27/20062297    답변글 SourceGDN].0.060717.001 - 변경된 소스파일 다운로드1
33정성태7/24/20062377SmallTool ver 1.0.1.0 - 변경된 점.
32정성태6/30/20062400사용 사례 : 7. 스키마 상속 처리 (3)
30정성태6/27/20063147사용 사례 : 6. 스미카 상속 처리 (2)
29정성태6/27/20062183사용 사례 : 5. ConsoleBat.exe - Path가 설정되어 있는 Command 창 이용하기
28정성태6/27/20062612사용 사례 : 4. 스미카 상속 처리 (1)파일 다운로드1
27정성태6/27/20062481사용 사례 : 3. XSDObjectGen - partial class 생성파일 다운로드1
26정성태6/29/20062325사용 사례 : 2. XSDObjectGen - Enum 처리에 대한 기능 향상파일 다운로드1
31정성태6/29/20062467    답변글 사용 사례 : 2.1 XSDObjectGen - Enum 처리 방식 변경
25정성태6/23/20062847사용 사례 : 1. VS.NET 통합 환경에서 XSDObjectGen 실행
24정성태6/23/20062344자동 로그인 ver 1.53파일 다운로드1
22정성태6/18/20062431ST : XSDObjectGen 1.4.2.1 포함
23정성태6/18/20062414    답변글 XSDObjectGen 1.4.2.1 - 커스터마이징파일 다운로드1
20정성태1/4/20073572ST: NDoc 2.0 한글 지원 버전
21정성태5/26/20062822    답변글 [답변]: ST: NDoc 2.0 한글 지원 버전 (업데이트)
19정성태5/18/20064123ST: ROBOCOPY.exe
18정성태4/20/20062562자동 로그인 ver 1.52 [2]파일 다운로드1
11정성태2/14/20047145폴더 백업( 동기화 ) 프로그램 [5]파일 다운로드1
7정성태7/24/20033041IExtender : Internet Explorer 확장툴 [2]
8정성태8/4/20032447    답변글 제거방법
6정성태7/23/20035343성태의 사이트 로그인 보안 구현: SysnetLogin
5정성태12/24/20043493성태의 게시판 구현이론: SysnetBoard
[1]  2