문서 버전관리 이야기
컴퓨터 프로그래머 (요새는 개발자라는 말을 더 많이 쓰는 것 같기는 하다.) 라면 cvs (SCV ?) 를 잘 알 것이다. 요새는 그것말고도 git 등의 버전관리 프로그램들이 많다.
그런데, 나같은 일반 사용자들은 프로그램 소스코드 보다는 문서 파일 작성이 더 많다. 일반적으로 문서 파일은 hwp, doc(docx), xls(xlsx), ppt(pptx) 일 경우가 많다. (드물게 오픈 포맷인 odf 나 odt 를 쓰는 경우가 있으나, 아직까지 비즈니스 문서 만들기에는 택도 없이 기능이 부족하므로 제외하자.)
난 보통 버전 관리를 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