https://blog.naver.com/etrangers/80015699686
|
강사 : 박성수 ( papa@superuser.co.kr ), 일명 : 헐렁고수
내용 : dump로 백업한 파일시스템 복구(restore)하기
전통적인 의미의 백업과 복구라함은 DAT type으로 백업한 내용을 파일시스템의 에러나 불의의 삭제등으로 인하여 손상된 파일을 복구한다는 것을 의미한다. 일반적으로 백업은 DAT라는 테잎에 dump형식으로 저장하여 다시 원상복구하기위하여 restore하는 것을 의미하는 것인데 이는 전형적으로 dump라는 명령어와 복구시에는 restore라는 명령어를 많이 사용한다. 하지만 사용하는 파일시스템에 따라서 또는 운영체제의 계열에 따라서 그 명령어가 조금씩 다를 수 있다.
위의 방법은 필자의 경험에 의한 것이며 절대적인 것이아님에 유의바란다. 위의 명령어를 지원하는 운영체제라면 플렛폼에 상관없이 사용이 가능하다. 하지만, dump로 백업받았다면 반드시 restore를 사용해야하고, ufsdump로 백업했다면 반드시 ufsrestore를 사용해야한다.
다음은 실제로 백업된 파일시스템을 복구한 예이다. 참고로 필자는 백업시에는 ufsdump와 복구시에 ufsrestore를 사용한다. 아래의 예에서 ufsdump대신에 dump로 사용가능하며, 또한 ufsretore대신에 restore명령어가 사용가능하다.
imsi디렉토리의 의미는 테잎으로부터 restore되는 파일을 일시적으로 저장하기위한 것이다. imsi디렉토리의 위치는 가능하면 /tmp 디렉토리로 하는 것이 좋다. |
|
실행시 ivh는 다음과 같은 의미의 옵션이며 맨뒤의 장치명(/dev/rmt/0)은 테잎드라이브의 장치파일명이다.
|
|
restore명령어는 다음과 같은 것들이 있음.
따라서 원하는 파일을 찾기위해 다음과 같이 ls와 cd를 이용하여 디렉토리내용확인과 디렉토리이동을 하고 있다.
|
|
원하는 파일을 찾았다면 add라는 명령어를 이용하여 복구할 파일리스트에 넣는다. 즉, add라는 명령어는 뒤에서 사용할 extract를 실행했을 때 실제로 복구되는 파일들의 대상을 선택하는 것이며 선택한 복구리스트에서 제외하려면 delete를 사용하면 된다.
위의 예에서는 mysql.sql 파일과 ju.sql이라는 파일을 복구한 예이다. |
|
extract는 add로 선택된 파일들을 실제로 현재위치의 디렉토리에 원상대로 생성을 한다. volume번호를 뭍게되는데 아래예와 같이 제일 빠른번호(1)를 입력하면된다.
|
|
quit으로 restore모드에서 빠져나온다.
|
|
이제 앞에서 add로 선택하여 extract로 생성한 파일을 확인해보자. 아래의 예는 ju.sql과 mysql.sql파일 두 개를 새로 생성하였으므로 이를 확인한 예이다.
|
|
백업(dump)하기전의 내용대로 복구가 되었는가를 확인해보기위해 cat이라는 명령어로 생성된 파일(ju.sql)을 확인하고 있는 것이다.
|
|
이상으로 간단히 파일복구를 위해 백업된 파일의 restore에 대해서 알아보았다. 질문은 질문게시판을 통해서 받을 것이며, 가급적 자세한 답변을 드릴 것을 약속한다.
created by 헐렁고수(papa@superuser.co.kr) |
* tape 핸들링
테이프 명령어
명령:mt - 자기 테이프 용도:테이프 상태 확인, 되감기, 지우기 등 경로:/usr/bin/mt
구문:mt [ -f 테이프 장치 이름 ] 명령 [ 반복 횟수] 여기서 테이프 장치 이름은 보통
/dev/rmt/0입니다.
명령은 다음과 같습니다.
status -테이프 드라이브의 상태 정보를 표시합니다
rewind -테이프를 되감습니다.
retension -테이프를 팽팽한 상태로 만듭니다.
erase -테이프 전체를 지웁니다.
fsf -지정된 반복 횟수만큼 파일을 앞으로 건너뜁니다.
bsf -지정된 반복 횟수 만큼 파일을 뒤로 건너뜁니다.
eom -기록된 미디어의 끝부분으로 건너 뜁니다.
반복 횟수는 요청된 작업을 수행하는 횟수를 말합니다.
기본적으로 mt는 명령을 한 번 수행합니다.
하나의 명령을 두 번 이상 반복하려면 반복 횟수를 지정하면 됩니다.
예:mt -f /dev/rmt/0 status ---> 테이프의 상태를 표시합니다.
mt -f /dev/rmt/0 rewind ---> 테이프를 되감습니다.
mt -f /dev/rmt/0n fsf 2 ---> 첫 번째 두 개의 파일을 건너뜁니다.
mt -f /dev/rmt/0n bsf 2 ---> 두 개의 파일만큼 뒤로 건너뜁니다.
명령: tar - 테이프 아카이브
용도: 테이프 아카이브를 만들거나 복원합니다.
디렉토리 구조를 유지하면서 하나 또는 여러 개의 파일을 백업하는데 사용합니다.
경로: /usr/bin/tar
구문: tar [옵션] [장치 이름] [파일 이름]
옵션은 다음과 같습니다.
c tar 파일을 새로 만듭니다.
r 기존 tar 파일을 대체합니다.
t 테이프 아카이브의 목차를 표시합니다.
u 업데이트합니다.
업데이트할 파일이 tar 파일에 없거나 마지막으로 tar 파일을 쓴 후
수정된 경우에는 tar 파일의 끝에 씁니다. 업데이트 수행은 다소
느릴 수 있습니다. 5.x 시스템에서 만든 tar 파일은 4.x 시스템에서
업데이트할 수 없습니다.
x 추출하거나 복원합니다.
추출하거나 복원할 파일은 tar 파일에서 추출하고 현재 디렉토리에서
tar 파일에 지정된 디렉토리에 씁니다. 추출할 파일 및 디렉토리에
대해 상대 경로 이름을 사용하십시오.
v 자세한 정보를 표시합니다.
기능 문자 다음에 각 파일의 이름을 출력합니다.
여기서 장치 이름은 대개 /dev/rmt/0입니다. 또는 파일 이름일 수도 있습니다. 파일
이름은 아카이브로 만들 파일 이름입니다.
예:
tar cvf /dev/rmt/0 /export/home/user1 --> /dev/rmt/0 테이프에 /export/home/user1의
테이프 아카이브를 만듭니다.
tar tvf /dev/rmt/0 ---> /dev/rmt/0의 목차를 표시합니다.
tar xvf /dev/rmt/0 ---> /dev/rmt/0에서 데이터를 복원합니다.
참고: 위의 명령에서 /dev/rmt/0 대신 /dev/rmt/0n을 사용할 수 있습니다.
/dev/rmt/0n을 사용하면 백업 수행 후 테이프를 되감지 않습니다.
명령: ufsdump
용도: 파일 시스템, 파일 또는 디렉토리를 백업하는데 사용합니다.
전체 백업이나 증분 백업을 수행할 수 있습니다.
경로: /usr/sbin/ufsdump
구문: ufsdump [옵션] [장치 이름] [덤프할 파일]
옵션은 다음과 같습니다.
0 ~ 9 덤프 레벨 옵션을 지정합니다.
레벨 0은 가장 낮은 수준으로 전체 백업을 수행합니다. 레벨 1 ~ 9는 증분
백업을 수행합니다.
u 현재 백업의 날짜와 덤프 레벨을 /etc/dumpdates 덤프 기록에 업데이트합니다.
f 파일이 쓰여질 장치를 지정합니다.이 옵션은 장치 이름이 필요합니다.
v 테이프에 있는 데이터를 파일 시스템에 있는 데이터와 비교하고 검사합니다.
여기서 장치 이름은 /dev/rmt/0입니다.
덤프할 파일은 초기 파일 시스템 /dev/rdsk/c0t2d0s0이나 블록 파일 시스템
/dev/dsk/c0t2d0s0입니다. 또한 /export/home과 같이 파일 시스템 이름이나
/export/home/user1과 같이 파일 이름 또는 디렉토리 이름을 사용할 수도 있습니다.
예:
ufsdump 0uf /dev/rmt/0 /export/home ---> /export/home 파일 시스템을 /dev/rmt/0
으로 덤프하고 전체 백업을 수행합니다.
ufsdump 1uf /dev/rmt/0 /dev/dsk/c0t2d0s4 --> /dev/dsk/c0t2d0s4 파일 시스템을
/dev/rmt/0로 덤프합니다. 이 명령은 레벨 1의 증분 백업을 수행합니다.
ufsdump 4uf dbserver:/dev/rmt/0 /export/home/user1 --> /export/home/user1에 대한
레벨 4의 증분 백업을 Remote Box dbserver에 마운트된 dev/rmt/0 테이프 장치에 덤프
합니다. 여기서 테이프 장치는 로컬 시스템이 아니라원격 시스템인 dbserver에 있는
장치입니다.
명령: ufsrestore
용도: ufsdump 명령으로 만들어진 백업본에서 파일을 복구하거나 추출하는데 사용합니다.
경로: /usr/sbin/ufsrestore
구문: ufsrestore [옵션] [장치 이름] [복원할 파일]
옵션은 다음과 같습니다.
i 대화형 모드로 파일을 복원합니다.
r 백업 전체를 복원합니다.
t 백업의 목차를 표시합니다.
x 명령행에서 지정한 파일을 복원합니다.
f /dev/rmt/0과 같이 장치 이름을 지정합니다.
v 파일을 복원하고 있는 경로 이름을 표시합니다(세부 정보 표시 모드).
참고: 이 옵션은 ufsdump 명령에서 사용하는 v(verify) 옵션과 다릅니다.
예:
ufsrestore xvf /dev/rmt/0 ./etc/hosts ---> /etc/hosts 파일을 현재 디렉토리로
복원합니다.
ufsrestore ivf /dev/rmt/0 ---> 복원될 파일을 선택합니다.
ufsrestore rvf /dev/rmt/0 ./opt ---> /opt 파일 시스템을 현재 디렉토리로 복원합니다.
ufsrestore tvf /dev/rmt/0 ---> /dev/rmt/0의 목차를 표시합니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 10 | [Linux] 일반 계정에서 SUDO 사용 및 SUDOERS 설정 하기 | proin | 2020.09.09 | 0 |
| 9 | 리눅스 sudo 사용자 추가하기 | proin | 2020.09.09 | 0 |
| 8 | Can I install PHP 5.3.5 on Ubuntu Server 18.04 LTS? | proin | 2020.09.06 | 0 |
| 7 | 리눅스(Linux) - 사용자와 권한 | proin | 2020.08.19 | 1 |
| 6 | [윈도우 리눅스 파일 공유] 삼바란 무엇인가. 리눅스에 삼바(SAMBA) 설치하는 법, 리눅스 삼바서버 설치 및 사용방법 | proin | 2020.08.19 | 0 |
| » | 파일 시스템 복구 (dump & Restore) | proin | 2020.08.18 | 0 |
| 4 | 리눅스 기본명령어 - restore | proin | 2020.08.18 | 0 |
| 3 | 리눅스 백업 명령어 | proin | 2020.08.18 | 0 |
| 2 | Installing Postfix Mail Server on a Raspberry Pi | proin | 2020.07.07 | 0 |
| 1 | JMeter로 웹 스트레스 테스트 | proin | 2020.03.10 | 0 |






