문서 버전관리 이야기

컴퓨터 프로그래머 (요새는 개발자라는 말을 더 많이 쓰는 것 같기는 하다.) 라면 cvs (SCV ?) 를 잘 알 것이다. 요새는 그것말고도 git 등의 버전관리 프로그램들이 많다.

그런데, 나같은 일반 사용자들은 프로그램 소스코드 보다는 문서 파일 작성이 더 많다. 일반적으로 문서 파일은 hwp, doc(docx), xls(xlsx), ppt(pptx) 일 경우가 많다. (드물게 오픈 포맷인 odf 나 odt 를 쓰는 경우가 있으나, 아직까지 비즈니스 문서 만들기에는 택도 없이 기능이 부족하므로 제외하자.)

난 보통 버전 관리를 3가지로 한다.

  1. 문서 버전 관리
  2. 디렉터리 버전 관리
  3. 백업을 통한 버전 관리

1. 문서 버전 관리

문서를 작성할 때, 버전을 매기는 거다. 내가 주로 쓰는 파일 이름 포맷은 이러하다. 20110404 – akpil – 문서 이름.ver.1.0.hwp 가장 앞에 문서 작성 날짜가 있고, 누가 작성했는지, 그리고 어떤 내용인지를 보여주는 문서 이름, 그리고 문서의 버전 이다.

여기서 중요한 건 날짜와 버전이다. 날짜는 꼭 쓴다. 왜냐하면, 회사일이라는 게 주기적으로 도는 경우가 있다. 그렇기 때문에 꼭 날짜를 써둬야 한다. 특히 년도가 중요하다. 날짜만 써두는 경우가 있는데, 1년 뒤에 다시 써야 하는 경우가 많기 때문이다. 버전은, 1.0 이하는 draft 버전이다. 나혼자 끄적이거나, 초안을 잡은 거다. 1.0 은 남들에게 보여줄 만큼 완성된 문서이고, 1.0 이 되면 팀장이나 다른 사람에게 공유되어서 peer review 를 한다. 그리고 2.0 이 되면 그 위로 올리는 보고가 가능한 문서이다. (여러번 review 하러 왔다 갔다 하다보면 2.0 이 아니라 5.0 이 되기도 한다.)

2. 디렉터리 버전 관리

난 문서 파일을 D:\DATA\10 업무\2011\ 이런 포맷으로 디렉터리를 만들어 놓고 작업한다.

2010년에 작업한 문서들은 D:\DATA\10 업무\2010\ 속에 들어 있다. 2009년 문서는 D:\DATA\10 업무\2009\ 에 있다. 그 밑에는 날짜와 업무의 내용을 디렉터리 이름으로 삼는다. 예를 들자면 D:\DATA\10 업무\2010\20100911 – Project 2 CTO 보고 자료 라면 그 밑에는 보고자료와 관련된 파일을 모두 넣어둔다. 만일, 버전업이 되어서 2010/09/20 에 2차 보고를 했다면, D:\DATA\10 업무\2010\20100920 – Project 2 CTO 보고 자료 – 2차 보고 이런 식이다. 역시 모든 파일은 저 디렉터리 안에 넣어둔다. 중복되는 파일 ? 많다. 근데, 요새 하드용량이 테라 단위로 노는데, 저 정도 쯤이야 아무것도 아니다.

3. 백업을 통한 버전 관리 난 3중 백업을 한다. 이렇게 하므로써 최악의 경우라도 일주일 전의 자료로 복구할 수 있다. 1차 백업은 옆에 있는 데스크탑이다.

바탕화면에 있는 backup.bat 라는 배치 파일의 내용이다.

  @echo off
  d:
  cd \
  cd data
  z:
  cd DATA
  xcopy d:*.* . /s /a /y /c /d
  exit

별 것 아니다. 하지만, D:\DATA\ 내용을 하루에 한번 정도(보통 점심 먹으러 가면서) 네트웍에 연결된 데스크탑 PC 로 복사한다. 데스크탑 PC 에서는 crontab 으로 하루 2번 (오후 2시, 새벽 2시)에 한번씩 저 자료들을 /mnt/backup 밑으로 복사한다. 짝수날 새벽 4시에 데스크탑 PC 의 /home 과 /mnt/backup 의 내용은 팀공용 NAS 에 저장된다. 그리고 마지막으로 매주 금요일 밤에는 팀공용 NAS 의 자료들이 회사 전체 파일 서버로 모인다. robocopy 등도 쓸만하다. (xcopy 보다 좋다.)

  백업을 생활화 하자. 백업을 안하면 3대가 내리 흉하다.

2015/02/03 akpil