본문 바로가기
이전글/2006

Perl 자동백업 스크립트

by 물개선생 2006. 12. 5.

일하고 있는 곳에 사무실 공사를 하더니 정전이 되는 일이 잦아졌습니다. 어느 날 iNode가 깨지면서 백업한 데이터들이 쓸모없게 되어버리더군요. 주요 프로젝트 자료는 문제가 없었지만 프로젝트 진행 현황을 기록하던 DB와 위키 자료 중 일부를 복구하지 못했습니다. 작은 인원으로 개발하다 보니 시스템 관리에 신경을 쓰지 못했었는데, 그런 위험성이 있다는 걸 알면서도 방치해둔게 결국 화를 불렀습니다. 소 잃고 외양간 고치기로 백업 스크립트를 작성했습니다. 백업대상은 JIRA, Confluence 백업 파일, SVN 파일, 그리고 DB 내용이였는데요, 용량을 고려해서 SVN 내용은 그날 그날의 SnapShot을 매일 백업하고 풀백업은 주별 주기로 받도록 결정했습니다. 백업한 내용은 백업 디렉토리에 옮겨두고, FTP로 백업 디스크에 전송한 다음 그 결과를 담당자들에게 메일로 알리는 것 까지가 목표였습니다. Ruby로 도전해볼까 생각하다가 짧은 시간에 백업 결과를 보고 싶어하는 분들이 많아 익숙한 Perl을 사용하기로 결정했죠. 나중에 다시 찾아볼 일이 있을까 싶어 간단히 정리합니다.

백업 자동화 부분은 전체 백업절차를 관리하는 Perl 스크립트 파일과 DB 백업 및 SVN 백업을 담당하는 2개의 쉘 스크립트로 구성되어 있습니다.


귀차니즘에 주석은 생략합니다. 5년만에 만져본 Perl로 급하게 뚝딱 만든 스크립트라 코드는 전혀 보실만한 품질이 못됩니다. 비슷한 일을 급하게 처리해야 할 분만 보십시오.