Top

[리눅스] crontab과 sh을 활용한 간단한 데이터 백업 관리방법 | Web-Programing
진기원 (wlsrldnjs) | Editor | 2015/05/11 16:10:35 | 조회:5485

거의 대부분의 업체들은 하나의 솔루션 소스코드 관리하기 위하여  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일이 지난 백업파일은 자동으로 삭제가 되게 처리를 한 방식입니다.


이를 응용하면

쉘스크립트를 통하여 백업한 파일을 바로 복원 할 수 있다던지.

더 나아가서 백업 뿐만 아니라 스크립트를 활용하여 패키지들을 설치하고 설정하는등 여러가지 작업을 쉽게 진행 할 수 있습니다.



공유하기
공유하기
2
0
0


댓글을 불러오는 중입니다.
▲ 이전글 [SVN] 사용법 정리 김경훈 (admin) 2015-05-12 10:13:17
▼ 다음글 [리눅스] tar 특정폴더 제외하여 압축 , rm 특수문자포함된 파일 삭제 진기원 (wlsrldnjs) 2015-05-11 14:54:10