|
거의 대부분의 업체들은 하나의 솔루션 소스코드 관리하기 위하여 svn(형상관리프로그램)을 사용합니다. 이는 하나의 소스코드를 여러명이서 관리할때 참 유용합니다.
제가 지금부터 소개해 드릴 백업 관리 방법은 어찌보면 소스코드만의 관리를 위함이 아닌, DB dump 파일, 서버 설정파일등 서버 상에서 파일을 관리 하기위한 하나의 간단한 백업 방식입니다.
사용한 방식은 쉘 스크립트와, crontab 을 이용하여 구현 하였습니다.
backup.sh 파일
#!/bin/sh
BACKUP_DIR="/home/jjinki/backup/project"
TAR=`which tar` RM=`which rm` DATE=`which date` MYSQLDUMP=`which mysqldump`
OLDWEEKDAY=`$DATE --date '7 days ago' +%Y%m%d` TODAY=`$DATE +%Y%m%d`
OLD_PROJECT="project_$OLDWEEKDAY.tar.gz"
#Project Source if [ -f $BACKUP_DIR/$OLD_PROJECT ] then echo "OldProject Source remove and Today's Project Source TAR Start.." $TAR -cvzf $BACKUP_DIR/project_$TODAY.tar.gz /home/jjinki/public_html/html/* $RM -rf $BACKUP_DIR/$OLD_PROJECT else echo "Today's Project Source TAR Start" $TAR -cvzf $BACKUP_DIR/project_$TODAY.tar.gz /home/jjinki/public_html/html/* fi
crontab 설정
0 7 * * * /home/jjinki/backup.sh
위와 같은 방식으로 매일 오전 7시 ...html/ 안에 있는 소소코드를 압축하여 백업폴더에 차곡차곡 넣어주고,
7일이 지난 백업파일은 자동으로 삭제가 되게 처리를 한 방식입니다.
이를 응용하면
쉘스크립트를 통하여 백업한 파일을 바로 복원 할 수 있다던지.
더 나아가서 백업 뿐만 아니라 스크립트를 활용하여 패키지들을 설치하고 설정하는등 여러가지 작업을 쉽게 진행 할 수 있습니다.
|