728x90
반응형
백업(Backup)
백업은 자료를 보호하는 방법으로 데이터를 잃어버리거나, 사용하지 못하게 되는 경우를 대비해서 사전에 중요한 데이터를 주기적으로 다른 위치에 복사본을 만드는 것을 말한다.
백업의 종류에는 전체백업(Full backup)과 증분 백업(Incremental Backup) 등이 있다.
전체 백업은 말그대로 모든 데이터를 통으로 한 번에 백업하는 방법을 말한다. 모든 것을 백업하기 때문에 시간이 많이 걸리며, 복구시 확실히 복구할 수 있다는 장점이 있다.
증분 백업은 전체 백업한 이 후에 변경된 데이터만 백업하는 방식이다.변경 파일만 백업하기 때문에 빠른 시간 내에 백업이 가능하다.
리눅스에서 백업 관련한 유틸리티로는 tar, cpio, taper, dump, rsync 등의 여러 종류가 있다. 관리자는 백업할 파일의 용량과 위치 등을 고려하여 적절한 유틸리티를 사용해야 한다.
백업 관련 유틸리티
tar (tape archive)
tar cvf [파일명] [묶을 파일] #여러 파일을 하나로 압축 한다
tar xvf [파일명] #현재 위치에 tar파일을 압축 푼다
tar rvf [파일명] [묶을 파일] #기존tar파일에 다른 파일도 추가로 압축한다
- tar는 여러 파일을 하나로 묶어주는 유틸리티를 말한다.
- gzip, bzip2 등의 압축 파일과 같이 사용 가능하다.
- 부분 백업, 전체 백업 등 모두 사용 가능 하고, 주로 소량의 파일을 백업하는데 사용한다.
tar로 증분 백업 후 복원
예]
# tar -g list -cvfp home.tar /home
-> home.tar파일을 list라는 파일의 내용으로 증분백업하고, 처음 백업시 전체 백업을 한다.
# tar xvf home.tar -C /
-> home.tar파일로 백업한 파일을 순서대로 복원한다.
cpio(copy input to output)
[명령어] | cpio [옵션] > [파일명] # 파일 압축하기
cpio [옵션] < [파일명] # 파일 압축풀기
-i : 압축 해제, cpio로 백업한 데이터를 복원
-o : 압축 생성, 묶을 때 사용
-p : 표준입력에서 파일명 읽음, 통과모드
-d : 복원 중 필요한 디렉토리 자동 생성
-m : 백업 데이터들의 날짜, 시간 그대로 유지
-v : verbose, 상세한 과정 출력
-c : 아카이브 포맷 형식을 'newc'로 지정
- cpio는 파일, 그룹, 전체 파일 시스템을 복사하는데 주로 사용하는 유틸리티이다.
- tar와 비슷한 기능을 가진 유틸리티이고, tar에 비해 훨씬 빠르다.
- 백업 파일이 손상된 부분이 있더라도 손상된 부분 제외하고 복구가 가능하다.
cpio로 백업 후 복원
# find /home | cpio -ocv > home.backup
-> /home 디렉터리를 백업하기 위해 생성되는 아카이브 포맷 형식을 'new SVR4 portable format with no CRC'로 지정하고, 과정을 상세히 출력한다.
# cpio -icdv < home.backup
-> 현재 디렉터리에 백업한 파일을 이용해서 복원하기 위해, 필요할 경우 디렉터리를 생성한다.
dump와 restore
dump
dump [옵션] [파일명] [백업대상]
-0 ~ -9 : 0~9단계의 레벨 지정
-f : 백업할 파일명 지정
-u : 백업 후 /etc/dumpdates 파일에 백업 정보 기록
- dump는 파티션 단위로 백업하기 위해 사용하는 방식이다.
- 전체 백업, 증분 백업 모두 지원한다.
- 0~9단계의 변경분 백업을 지원한다. (0은 전체 백업, 나머지는 부분 백업)
restore
restore [옵션] [백업 파일명]
-i : 대화식 복구 파일 선택 후 복원
-f : 백업 파일명 지정
-r : 전체 백업시 사용
- dump로 백업한 내용을 restore로 복원한다.
- 상호 대화식 복구 프로그램
dump 백업 후 restore 복원
# dump -f backup.data /dev/sda3
-> 파티션 단위로 백업하기 위해 /dev/sda3을 backup.data 라는 파일명으로 전체 백업한다.
# restore -rf backup.data
-> backup.data에 백업된 데이터를 현재 디렉터리에 전체 복원한다.
복구 명령어 restore 실행과정
1. restore -if [dump파일]
2. 복구 대상 파일 선택 (add)
3. 파일 생성 extract 수행
4. restore 모드 해제
5. 복구 파일 확인
# restore -if backup.dump
-> dump로 백업된 데이터를 대화식 복구 파일 방식으로 복원
restore > ls
..
joon/ posein/ yuleje/
restore > add joon
..
*joon posein/ yuleje/
restore> extract
You have not read any volumes yet.
Unless you know which volumes your file are on you should start
with the last volume work towards the first.
Specify next volume # (none if no more volumes: l
set owner/mod for '.'? [yn] y
restore> quit
dd (Data Dumper)
dd if=[입력파일] conv=[변환하는_데이터_유형] of=[출력파일] bs=[블록사이즈_크기(byte)] count=[복사크기]
* byte의 단위
c : charater, 1byte
w : word, 2byte
kb : kilo, 1024byte
b : block, 521byte
- 디스크를 이미지 형태로 백업하거나 파일의 포맷, 즉 형식을 바꾸는 명령
- 파티션이나 디스크 단위로 백업할때 사용
# dd if=/dev/sda1 of=/dev/sdb1 bs=4096
-> /dev/sda1을 블록 사이즈 4KB 단위로 하여 /dev/sdb1 으로 백업한다.
반응형
'서버 운영 > Linux' 카테고리의 다른 글
리눅스 삼바(Samba) 서버 설치 및 관련 명령어 (0) | 2021.10.24 |
---|---|
[Linux] 아파치 httpd 웹서버 명령어 (0) | 2021.10.20 |
리눅스 NFS 서버, 클라이언트 설치 및 확인 (0) | 2021.10.18 |
[리눅스] 인증 NIS 서버, 클라이언트 구성 및 NIS 관련 명령어 (2) | 2021.10.18 |
리눅스 apache(아파치) httpd.conf 설정 파일 (1) | 2021.10.18 |