CentOS 7 백업 및 복구
2016.08.18 19:40
백업 또는 복구를 하려면 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
===============================================================================
댓글 [0]
번호 | 제목 | 글쓴이 | 조회 |
---|---|---|---|
[공지] | 연재 강좌를 진행합니다. | gooddew | - |
125 | CentOS 7| OpenSSL 업데이트 | gooddew | 7539 |
124 | CentOS 7| top 활용하기 | gooddew | 5489 |
123 | CentOS 7| 시스템 하드 복사하기 ( DISK TO DISK ) | gooddew | 13130 |
» | CentOS 7| 백업 및 복구 | gooddew | 11691 |
121 | CentOS 7| 윈도우 클라이언트에서 PUTTY 자동 로그인 | gooddew | 5256 |
120 | CentOS 7| Centos 7 에서 NTFS 인식하기 | gooddew | 7625 |
119 | CentOS 7| root 패스워드 초기화 [1] | gooddew | 9068 |
118 | CentOS 7| SSH 보안 정책 | gooddew | 6406 |
117 | CentOS 7| 패스워드 보안 정책 | gooddew | 6342 |
116 | CentOS 7| MC를 이용한 FTP 활용 [2] | gooddew | 6779 |
115 | CentOS 7| 리눅스 명령어 정리 | gooddew | 9990 |
114 | CentOS 7| 유용한 프로그램 설치하기 | gooddew | 10050 |
113 | CentOS 7| 네트워크 수동 설정하기 | gooddew | 29685 |
112 | CentOS 7| AWStats를 설치하기 | gooddew | 18234 |
111 | CentOS 7| 방화벽 서버 구축 ( firewalld ) [1] | gooddew | 5508 |
110 | CentOS 7| 방화벽 서버 구축( iptables ) | gooddew | 5469 |
109 | CentOS 7| PROXY 서버 구축 | gooddew | 5223 |
108 | CentOS 7| DHCP 서버 구축 | gooddew | 5893 |
107 | CentOS 7| NFS 서버 구축 | gooddew | 5690 |
106 | CentOS 7| 메일( sendmail / dovecot ) 서버 구축 | gooddew | 5710 |