물론... 맘만 먹으면 언제든지... 모두들 만드실 수 있겠지만.
사실... 개발자에게 자신이 만든 컴퓨터 소스는 참 중요하죠. ^^
그런데... 딱히 그런 용도의 백업 프로그램이 없는 것으로 아는데요.
개발자의 경우에는, 무조건 동일한 내용의 복사본을 다른 컴퓨터에 저장하는 것이 좋지 않을까 해서...
하지만... 매번 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#" 으로 개발했습니다.