DUMP(8)

명칭
dump, rdump - 파일 시스템의 백업

서식
dump [-0123456789acknSu] [-B records] [-b blocksize] [-D dumpdates] [-d density] [-f file] [-h level] [-s feet] [-T date] filesystem dump -W | -w

rdump 하 dump 의 별명입니다.

( 4.3BSD 형식의 옵션은 후방 호환성을 위해서(때문에) 실장되고 있습니다만, 여기에서는 설명하고 있지 않습니다. )

해설
dump 유틸리티는, 파일 시스템을 조사해 백업 할 필요가 있는 파일을 결정합니다. 이러한 파일은, 지정된 디스크, 테이프나, 그 외의 기억 미디어에 보존을 위해 카피됩니다 (리모트 백업에 대해서는, -f 옵션을 참조). 덤프의 크기가 기록 미디어의 용량보다 큰 경우는, 복수 볼륨에 분할합니다. 대부분의 미디어의 용량은, 미디어의 끝이 통지될 때까지 기입해 보는 것으로 결정합니다. 이 방법은, -a 옵션에 의해 강제적으로 사용할 수도 있습니다.

미디어의 끝을 올바르게 통지할 수 없는 미디어 (일부의 카트리지·테이프 드라이브등 )의 용량은, 테이프장과 기록 밀도나 -B 옵션으로부터 요구해 각 볼륨은 모두 같은 용량을 가지는 것으로 합니다. 디폴트에서는, 오퍼레이터에게 미디어 교환을 요구한 후의 각 볼륨에도 같은 출력 파일명을 사용합니다.

덤프 대상의 파일 시스템은, 인수 filesystem 에서, 디바이스 스페셜 파일인가 (/etc/fstab 안의 표준 엔트리의 경우) 마운트 포인트로 지정합니다.

dump (은)는, 다음의 옵션을 서포트하고 있습니다.

-0-9
    덤프 레벨. 레벨 0 은 풀백 업을 의미해, 파일 시스템 전체를 카피 하는 것을 프로텍션합니다 (다만 이하의 -h 옵션에도 주의해 주세요). 0 보다 큰 레벨 번호는 인크리멘타르박크압을 의미해, 전회의 덤프 (이번 지정한 것보다 낮은 레벨의 덤프) 이후에 만들어졌는지 수정된 모든 파일을 카피합니다. 디폴트의 레벨은 0 입니다.

-a  “오토 사이즈” 모든 테이프장의 고려를 하지 않고, 미디어의 종료가 통지될 때까지, 강제적으로 기입을 계속합니다. 현재의 대부분의 테이프 드라이브에서는, 이 방법에 의해 무엇보다 좋은 결과를 얻을 수 있습니다. 특히, 사용해 내기의 테이프에 추가하거나 하드웨어 압축기노우가 있는 테이프 드라이브(압축율이 어느 정도가 될까 애매한 물건)을 사용하거나 하는 경우에 이 옵션을 사용하는 것을 추천 합니다.

-B records
    볼륨 근처의 킬로바이트수입니다. 이 값이 출력 블록 사이즈의 정수배가 아닌 경우, 명령은 이 값보다 작은 정수배치를 사용합니다. 이 옵션은, 테이프장과 기록 밀도를 기본으로 한 테이프 용량보다 우선됩니다.

-b blocksize
    출력 블록 근처의 킬로바이트수입니다. 이 값이 64 보다 큰 경우, 명령은 64 를 사용합니다 (버그의 마디를 참조해 주세요). 디폴트의 블록 사이즈는 10 입니다.

-c  카트리지 테이프 드라이브용으로, 기록 밀도와 테이프장의 디폴트를 각각 8000 bpi, 1700 feet 로 변경합니다.

-D dumpdates
    dumpdates 파일의 대체 패스를 지정합니다. 디폴트는 /etc/dumpdates 입니다.

-d density
    테이프의 기록 밀도를 density (으)로 설정합니다. 디폴트는 1600BPI 입니다.

-f file
    백업의 출력처 파일을 지정합니다. 출력처 파일로서는, /dev/sa0 (테이프 드라이브)(이)나 /dev/fd1 (floppy disk 드라이브)(와)과 같은 디바이스 파일, 통상 파일, ‘-’ (표준 출력)(을)를 지정할 수가 있습니다. 복수의 파일명을, 콤마로 단락지어 하나의 인수로서 지정한다 일이 생깁니다. 각 파일은, 리스트 된 순서에 하나의 덤프 볼륨에 사용됩니다. 지정한 이름의 수보다 많은 볼륨이 필요한 경우, 미디어의 교환을 요구한 후, 마지막 파일명을 나머지의 모든 볼륨에 사용합니다. 파일명이, “host:file” 또는, “user@host:file” 의 형식인 경우, dump (은)는, rmt(8) (을)를 사용해 리모트 호스트상의 지정된 파일에 기입합니다. 리모트의 rmt(8) 의 디폴트의 패스명은 /etc/rmt 그렇지만, 환경 변수 RMT 의 값이 우선됩니다.

-h level
    덤프 레벨이 level 이상때에, 유저가 지정했다 “nodump” 플래그 (UF_NODUMP) 에 따릅니다 (h: honor the flag). 디폴트의 honor 레벨은 1 이기 때문에, 그러한 파일은, 인크리멘타르단프로부터는 생략해집니다만, 풀백 업에는 포함됩니다.

-k  리모트의 테이프 서버와의 통신으로 케르베로스 인증을 사용합니다. (이 옵션이 유효한 상태로 dump 하지만 컴파일 되었을 경우에게만 이용할 수 있습니다. )

-n  dump 하지만 오퍼레이터에게 주의를 재촉할 때에, wall(1) (을)를 닮은 방법으로 “operator” 그룹에 속하는 모든 유저에게 메세지를 보냅니다.

-s feet
    테이프의 용량을 계산할 때에 기록 밀도와 함께 사용합니다. 이 용량을 넘었을 경우에, dump (은)는 새로운 테이프를 요구합니다. 이 옵션은 약간 조심스럽게 지정하는 것을 추천합니다. 디폴트의 테이프의 길이는, 2300 피트입니다.

-S  백업의 크기와 필요한 테이프수의 견적을 표시해, 실제의 덤프를 실행하지 않고 종료합니다.

-T date
    dumpdates 파일 (으)로부터 얻을 수 있던 일시 대신에, 지정된 date 를 덤프의 기점으로서 사용합니다. date 의 형식은 ctime(3) 의 그것과 같습니다. 이 옵션은 기간을 지정해 백업을 취하는 덤프 스크립트로 유용합니다. -T 옵션은 -u 옵션과 동시에는 지정할 수 없습니다.

-u  덤프가 성공한 다음에, dumpdates 파일을 갱신합니다. dumpdates 파일 (은)는 사람이 읽을 수 있는 파일이며, 각 행에 이하의 레코드가 프리 포맷으로 기록되고 있습니다 : 파일 시스템명, 인크리먼트(increment) 레벨, ctime(3) 형식의 덤프 일자. 각 레벨과 파일 시스템 마다 엔트리가 하나만 존재합니다. 필요하면, dumpdates 파일 의 각 필드를 편집해도 상관하지 않습니다. dumpdates 파일의 디폴트는 /etc/dumpdates 그렇지만, -D (을)를 사용해 이것을 변경 가능합니다.

-W  덤프의 필요가 있는 파일 시스템을 오퍼레이터에게 표시합니다. 이 정보는 dumpdates 파일 (와)과 /etc/fstab 파일로부터 모아집니다. dump (은)는, dumpdates 파일 안의 각 파일 시스템마다 최신의 덤프 일자와 레벨을 나타내, 덤프 해야 할 파일 시스템을 분명히 합니다. -W 옵션이 지정되었을 경우, 그 외의 모든 옵션은 무시되어 dump (은)는 즉시 종료합니다.

-w  W 와 같습니다만, 덤프의 필요가 있는 파일 시스템만을 표시합니다.

“nodump” 플래그 (UF_NODUMP) 하지만 설정된 디렉토리 및 통상 파일과 그러한 디렉토리 부하의 모든 것은, 생략 됩니다. -h 옵션에 따릅니다.

dump 유틸리티는, 이하에 나타내는 경우에 오퍼레이터의 개입을 요구합니다 : 테이프의 종료, 덤프의 종료, 테이프 기입 에러, 테이프 오픈 에러, 디스크 read error (32 회를 넘겼을 경우). 처리를 계속되지 않을 때나 무엇인가 몹시 맛이 없는 사태가 되었을 경우에는, dump (은)는, -n 옵션이 있으면 모든 오퍼레이터에게 경고한 데다가, dump 의 제어 단말상에서 오퍼레이터와 교환합니다. dump 명령로부터의 모든 질문에는, “yes” 또는 “no” 그리고 적절히 대답하지 않으면 안됩니다.

풀 덤프의 실시에는 많은 시간으로 노력이 걸리므로, dump (은)는 각 테이프 볼륨의 선두에 체크 포인트를 설정합니다. 어떠한 이유에 의해, 어느 볼륨의 기입을 실패했을 경우에는, 테이프의 되감아, 배출, 새로운 테이프의 mount의 다음에, dump (은)는 오퍼레이터의 허가아래에서 체크 포인트로부터 실행을 재개합니다.

dump 유틸리티는, 처리의 진행을 (5 분 마다 또는 SIGINFO 수신시에) 정기적으로 오퍼레이터에게 보고합니다. 보고에는, 적은 듯하게 추정되는 기입 블록수, 필요한 테이프수, 완료까지의 시간, 테이프 교환까지의 시간, (을)를 포함합니다. dump 에 사용하고 있는 단말이 사용중인 것이 타인에게도 알 수 있도록(듯이), 이 메세지는 장황하게 되어 있습니다.

디스크에 괴멸적인 트러블이 일어났을 때에, 백업 테이프나 파일로부터 디스크를 복원하기 위해서(때문에) 필요한 시간은, 인크리멘타르단프를 적당한 순차 순서로 실행하는 일에 의해 최소로 할 수가 있습니다. 최소의 테이프수로 이것을 행하는 효과적인 방법을 나타냅니다.

•   항상 레벨 0 의 백업으로부터 개시합니다. 예를 들면 이하와 같습니다.

        /sbin/dump -0u -f /dev/nsa0 /usr/src

    이것을 1개월이나 2개월마다 새로운 테이프에 대해서 실시해, 쭉 보존합니다.

•   0 레벨의 덤프의 뒤는, 액티브한 파일 시스템의 덤프를, 수정 하노이의 탑알고리즘에 의한다 다음의 같은 덤프 레벨 순차 순서에 의해, 매일 실시합니다.

        3 2 5 4 7 6 9 8 9 9 ...

    매일의 덤프에는, 일주일간마다 반복해 사용되는 일이 된다 일정한 수의 테이프를 사용할 수가 있습니다. 주 마다 레벨 1 덤프를 행해, 매일의 하노이·순차 순서는 레벨 3 으로부터 개시합니다. 주 마다의 덤프에는, 덤프 하는 파일 시스템마다, 이것도 반복해 사용되는 일이 되는 일정수의 테이프를 사용합니다.

몇개월인가의 후, 매일과 매주의 테이프는 덤프 사이클로부터 순서에 제외해, 신품의 테이프를 도입해야 합니다.

환경 변수
환경 변수 RMT (은)는, 리모트의 rmt(8) 프로그램의 패스명을 결정하는데 이용됩니다.

관련 파일
/dev/sa0
    디폴트의 덤프 테이프 유니트
/etc/dumpdates
    덤프의 일자를 기록하는 파일 (이것은 변경 가능합니다. -D 옵션을 참조해 주세요)
/etc/fstab
    덤프 테이블 : 파일 시스템과 빈도를 결정하는 파일
/etc/group
    operator 그룹을 검색한다

관련 항목
chflags(1), fstab(5), restore(8), rmt(8)

진단
자세한 메세지가 많이 나옵니다.

정상시는 종료 코드 0 으로 종료합니다. 개시시의 에러는 종료 코드 1 으로, 이상종료(ABEND)는 종료 코드 3 으로 나타내집니다.

버그
32 개 미만의 파일 시스템으로부터의 독해 에러는 무시됩니다.

각 릴 (볼륨) 마다 새로운 프로세스가 만들어져 릴을 써 끝난 parent process는 테이프 전체의 기입이 끝날 때까지 기다리고 있습니다.

현재 상태로서는, physio(9) 슬라이스의 리퀘스트는 64 KB 의 덩어리가 됩니다. 따라서, 그것보다 큰 출력 블록 사이즈를 사용하지 못하고, dump (은)는 이것이 발생하는 것을 막습니다.

dump 유틸리티의 -W (이)나 -w 옵션은, /etc/fstab 에 리스트 되고 있어도, dumpdates 파일 에 기록이 없는 파일 시스템에 대해서는 보고하지 않습니다.

dump 명령이, 덤프 순서에 대해 알고 있어, 사용해 어지른 테이프의 사용 히스토리를 관리할 수 있어 어느 테이프를 mount 하면 좋은가 오퍼레이터에게 가르쳐 줘 restore (을)를 실행하는 오퍼레이터를 좀 더 도와 주면(자), 좀 더 사용하기 쉽겠지요.

보안적인 역사에 의해, dump 유틸리티는, root 이외의 유저로 리모트 백업을 실시할 수 없습니다. 이것은, FreeBSD 의 향후의 버젼에서는 수정되겠지요. 현재 상태로서는, (종래대로) setuid 되고 있으면 정상적으로 동작합니다만, 보안적인 리스크를 수반합니다.

역사
dump 유틸리티는, AT&T UNIX (으)로부터 등장했습니다.