2009년 7월 30일 목요일

Makeup & Restore in FreeBSD

리눅스 클러스터를 하면서 백업과 복구에 대해서 그렇게 신경을 쓰지 않았지만 이제 FreeBSD 서버를 구축을 하면서 신경을 쓰기로 했다.
오늘한 일들은 기본적인 시스템 백업, Revision Control이다.
1. Backup
1) Tar : tape archiver 의 약자, 파일,디렉토리 단위로 백업 및 복구
=> 대부분의 O/S에서 사용 가능, 이기종간 데이터 교류 가능.
-option
-c : 새로운 파일을 압축할때 사용
-v : 상세 정보 표시
-t : 백업 파일 내의 모든 파일을 열기
-x : 백업 파일로 부터 파일을 추출
-y : bzip을 이용한 압축시 ( 효율 최고, CPU 부하)
-z : gunzip를 이용한 압축시 (효율 중간)
-Z : compress를 이용항 압축시 (효율 최저)
-f : backup할 위치 선정
ex) tar -cvf home.tgz /home
tar -xvf home.tgz /mnt/
2)Dump & Restore : filesystem, partition 별로 백업 및 복구
- Option
-f : backup 할 위치 선정
-a : 테이프의 공간 확인, 파일로 백업시에는 꼭 사용...
ex)dump -a -f sanjose_home /home
newfs /dev/ad1s1g
mount /dev/ad1s1g /mnt
cd /mnt
restore -rf /root/sanjose_home

2. Revision Control
기본적인 리비전 관리 툴인 RCS를 사용하기로 했다.
<= 마치 책을 대여하기 위해서 도서관을 사용하는 것과 동일, 여기서 파일은 책, RCS는 도서관 사서.
- Command
ci : check-in <= 책을 반남 즉 데이터 수정후 파일 반납
co : check-out <= 책을 대여, 즉 파일에 대한 수정 권한 획득
rlog : file에 변경 이력을 보여줌
rcsdiff : 버전별 차이점 보여줌
Ex)
sanjose# ci /root/test.txt <- RCS로 관리할 파일 선정
/root/test.txt,v <-- /root/test.txt
enter description, terminated with single '.' or end of file:
NOTE: This is NOT the log message!
>> This file is for the RCS test
>> .
initial revision: 1.1
done
sanjose# co -l test.txt <- 파일 수정을 하기 위해서 파일 대여
test.txt,v --> test.txt
revision 1.1 (locked)
done
sanjose# vi test.txt <- 파일 수정
anjose# ci -u test.txt <- 파일 수정 후 파일 반납.
test.txt,v <-- test.txt
new revision: 1.2; previous revision: 1.1
enter log message, terminated with single '.' or end of file:
>> add my hope
>> .
done
sanjose# cat test.txt
1. My hope
HPC, Virtualization
Making my sweet home
sanjose# co -r1.1 test.txt <- 이전 버전으로 변경
test.txt,v --> test.txt
revision 1.1
done
sanjose# cat test.txt
1. My hope
HPC, Virtualization
sanjose# rlog test.txt <- log 변경 이력

RCS file: test.txt,v
Working file: test.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This file is for the RCS test
----------------------------
revision 1.2
date: 2009/07/30 03:13:16; author: root; state: Exp; lines: +1 -0
add my hope
----------------------------
revision 1.1
date: 2009/07/30 03:10:45; author: root; state: Exp;
Initial revision
----------------------------
=============================================================================
sanjose# rcsdiff -r1.1 -r1.2 test.txt <- version 별 변경 내용
===================================================================
RCS file: test.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -r1.1 -r1.2
2a3
> Making my sweet home

댓글 없음: