2018.09.14 16:03

백업과 복구

백업 또는 복구를 하려면 root 권한으로 하시기 바랍니다.
홈페이지를 백업하려면 보통은 두가지를 백업해야 됩니다.
한가지는 데이타 이고, 두번째는 DB 입니다.


1. 백업하기


(1) TAR 이용한 데이타 전체 백업


# tar cvfpz /backup/www/home_bak.tar.gz /var/www/html
/var/www/html 이 경로는 백업할 폴더명입니다.
/backup/www/home_bak.tar.gz 는 백업 파일 입니다.
홈페이지 데이타 용량이 적으면 상관 없지만 용량이 많으면 작업이 오래 걸리는 단점이 있습니다.


(2) rsync 이용한 데이타 차등 백업


차등백업이란 이전의 전체 백업한 데이터 기반으로 변경된 데이터만 추가해서 백업을 만듭니다.
# rsync -avp --delete /var/www/html/ /backup/www/home_bak
홈페이지 데이타 용량이 많을때 빠르게 백업할수 있는 장점이 있습니다.


(3) DB 전체 백업


# mysqldump -u[DB아아디] -p [DB명] > [백업파일명]
DB 패스워드를 넣으면 작업이 진행됩니다.
DB 백업은 전체 백업을 기본으로 합니다.



2. 복구하기


(1) TAR 이용한 데이타 전체 복구
# tar -xvf home_bak.tar.gz -C /       

home_bak.tar.gz 은 압축파일 이름이며  -C 옵션 뒤에는 압축이 풀리는 경로를 입력합니다.


(2) rsync 를 이용해서 백업한 자료는 cp 명령어로 복구하면 됩니다.
# cp /backup/www/home_bak /var/www/html/ -rf


(3) DB 복구

# mysql -u[DB아아디] -p [DB명] < [DB백업파일명]

DB 비밀번호 입력



백업을 자동화 하는 CRON(크론) 설정을 알아 보겠습니다.

실행 스크립트 만듭니다.

# nano /root/backup.sh

간단한 전체 백업하는 스크립트입니다.


=========  backup.sh =================================================
rsync -avp /var/www/html/ /backup/www/home_bak

=================================================================



실행 가능한 파일로 만듭니다


# chmod 100 /root/backup.sh 


크롬에서 스캐줄에 따라서 자동 백업을 실행하게 합니다.


# crontab -e


0 3 * * * /root/backup.sh


위 내용을 설명하면 매일 3시 00 분에 /root/backup.sh 를 자동 실행합니다.


백업 역시 부하가 걸리기 때문에 보통은 새벽에 실행 하는것을 권장 합니다.


많이 사용하는 backup.sh 스크립트 예제를 올리겠습니다.  




(1) 데이터는 차등 백업을 하고 db 는 전체 백업을 하며 3일간 백업 파일을 유지 하는 스크립트 입니다.


========= /root/backup.sh ======================================================


#!/bin/sh

DATE=`date +"%Y%m%d"`

YES_DATE=`date --date '1 days ago' +"%Y%m%d"`

PREV_DATE=`date --date '3 days ago' +"%Y%m%d"`


/usr/bin/mysqldump -uroot -pDB비밀번호 DB명 > /backup/mysql/mysql_db_bak_${DATE}.sql

rm -rf /backup/mysql/mysql_db_bak_${PREV_DATE}.sql


cp -rf /backup/www/home_bak /backup/www/home_bak_${YES_DATE}

rsync -avp --delete /var/www/html/ /backup/www/home_bak

rm -rf /backup/www/home_bak_${PREV_DATE}


===========================================================================




② 데이터와 db 모두 전체 백업을 하고 3일간 백업 파일을 유지 하는 스크립트 입니다.


=========  backup.sh ==========================================================

#!/bin/sh

DATE=`date +"%Y%m%d"`

YES_DATE=`date --date '1 days ago' +"%Y%m%d"`

PREV_DATE=`date --date '3 days ago' +"%Y%m%d"`

DOW='date + "%a"'


/usr/bin/mysqldump -uroot -pDB비밀번호 DB명 > /backup/mysql/mysql_db_bak_${DATE}.sql

rm -rf /backup/mysql/mysql_db_bak_${PREV_DATE}.sql


tar cvfpz /backup/www/home_bak_${DATE}.tar.gz /var/www/html

rm -rf /backup/www/home_bak_${PREV_DATE}.tar.gz


==========================================================================


List of Articles
번호 제목 글쓴이 날짜
이 곳은 송정석닷컴 홈페이지 제작을 위한 자료실입니다. 송정석 2015.08.29
87 XE Core 1.11.1 버전으로 업데이트 하였습니다 송정석 2018.10.24
86 유튜브 동영상 퍼오기(사이즈에 맞게) [2] 송정석 2018.10.22
85 Win 7 업데이트 시 '서비스가 실행되고 있지 않아 업데이트 확인을 할수 없습니다' 오류 송정석 2018.09.21
84 헤더 스크랩터 (웹마스터도구) 송정석 2018.09.15
83 리눅스 명령어 정리 송정석 2018.09.14
» 백업과 복구 송정석 2018.09.14
81 네이버 및 구글에 홈페이지 사이트 등록을 하여 드립니다... 필요하신 분들은 요청하세요. [6] 송정석 2018.09.08
80 회원 가입시 닉네임 글자수 제한 송정석 2018.08.06
79 첨부에서 파일을 내려받을 때 [File Size 3.45MB/Download:250] 메세지 삭제하는 방법 송정석 2018.03.17
78 XE Core 1.9.6 버전으로 업데이트 하였습니다. 송정석 2018.03.09
77 게시판 SNS 버튼 삭제하는 방법 송정석 2018.02.02
76 와이드인 우측 상단 제목 삭제하는방법 송정석 2018.01.13
75 모바일에서도 PC화면과 동일하게 노출하는 방법 송정석 2017.12.30
74 스케치북 게시판에서 목록(제목) 폰트 수정하는 방법 송정석 2017.12.28
73 와이드인 테마에서 메인 슬라이드 아래 여백 조절하는 방법 송정석 2017.12.27
72 XE Core 1.9.2 버전으로 업데이트 하였습니다. 송정석 2017.12.26
71 1일(레벨별) 다운로드 제한 모듈입니다. [9] 송정석 2017.10.13
70 파일 다운시 포인트를 차감함을 알려주는 애드온 입니다. 송정석 2017.10.08
69 XE Core 1.8.45 버전으로 업데이트 하였습니다. 송정석 2017.09.17
68 XE Core 1.8.43 버전으로 업데이트 하였습니다. 송정석 2017.08.26
67 상단 배너 코딩 송정석 2017.08.20
66 XE Core 1.8.42 버전으로 업데이트 하였습니다. 송정석 2017.06.28
65 송정석닷컴 Logo(CI) 원본 및 현재 수정본 송정석 2017.06.07
64 XE Core 1.8.40 버전으로 업데이트 하였습니다. 송정석 2017.06.03
63 좌측 최신글, 인기글에서 설명을 삭제하는 방법 송정석 2017.03.31
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6