본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
파일을 복사하고 압축한다. (주로 백업용)
  • 유닉스와 리눅스 모두에서 명령어와 옵션이 같음
  • 경로 : /bin/cpio
cpio [옵션] [대상디렉터리]
모드 옵션 하는 일
복사 출력(copy-out) -o 표준 입력으로 받은 파일 목록을 묶어 아카이브를 만든다(백업)
복사 입력(copy-in) -i 아카이브에서 파일을 꺼낸다(복원). -t 를 함께 주면 꺼내지 않고 목록만 보여 준다
복사 통과(pass-through) -p 아카이브를 만들지 않고 파일을 다른 디렉터리로 바로 복사한다
  • -F 파일 : 표준 입출력 대신 지정한 아카이브 파일을 쓴다. -O 파일(-o 에서), -I 파일(-i 에서)도 같은 일을 한다
  • -0, --null : 파일명의 끝이 줄 바꿈 문자가 아니라 NULL로 끝난다.
  • -a, --reset-access-time : 파일 접근 시간을 재설정한다.
  • -A, --append : 압축된 파일에 파일을 추가한다. -o 옵션에만 작동한다.
  • -B : I/O 블록을 5,120바이트로 지정한다. 초기치는 512바이트이다.
  • --block-size=BLOCK-SIZE : I/O 블록사이즈를 BLOCK-SIZE * 512바이트로 지정한다.

-c : ASCII문자로 파일의 헤더 정보를 작성한다

-C bufsize : 입출력은 bufsize바이트로 레코드를 블록화한다

-d : 디렉토리가 필요하면 자동적으로 생성한다

-f : patterns과 일치하는 것을 제외한 모든 파일을 복사

-k : 파일의 헤더가 망가졌거나 입출력 오류 시 작업을 종료 하지 않고 다음 현재 파일은skip하고 다음 파일을 읽는다. ( -i 에서만 사용) 가능하면 파일을 복사하지 않고 링크 시킨다 (-p 에서만 사용)

-m : 파일의 최종 수정 시간을 현재 파일이 가지고 있는 시간을 그대로 유지한다

-M message : 백업 미디어 매체 교환이 필요할 때 사용자가 그 메시지를 정의 하여 사용할 수 있도록 한다

-O file : cpio의 출력을 file에 지정한다 (-o 에서만 사용)

-r : 대화식으로 파일명을 변경 한다(-p 에서는 사용불가능)

-b : 각 단어 내의 바이트 순서를 바꾼다(-i에서만 사용)

-s : 각 half word의 두 바이트를 서로 교환한다(-i에서만 사용)

-S : 각 word의 두half word를 서로 교환한다(-i에서만 사용)

-t : 입력파일 목록을 출력하고 파일은 생성하지 않는다

-u : restore시에 기존의 디렉토리에 그 파일이 존재하더라도 무조건 복사한다. 이 값을 설정하지 않으면 두 개의 수정 날짜를 비교하여 더 최근의 파일을 보존한다

-v : 현재 작업이 진행되고 있는 파일 목록을 표준 출력으로 출력 한다

-V : 현재 작업이 진행되고 있는 각 파일을 한 개의'.'으로 출력 한다.

ex) 텍스트파일 백업

# find . -name *.text -print | cpio -o > text.backup

ex) 텍스트파일 복원

# cpio -i < text.backup

ex) 백업 내용만 확인 (파일을 만들지 않는다)

# cpio -icvt < text.backup
  • -i 는 복사 입력, -c 는 ASCII 헤더(-oc 로 만든 아카이브), -v 는 자세히, -t 는 목록만 출력이다
  • -icdv 는 필요한 디렉터리를 만들며 실제로 복원하고, -ocvF 파일 은 아카이브를 만드는(백업) 쪽이다
  • 표준 입력으로 파일 목록을 받으므로 find·ls 와 파이프로 묶어 원하는 파일만 고를 수 있고, 많은 양의 데이터를 백업할 때 유리하다
  • 일반 파일뿐 아니라 장치 파일 같은 특수 파일도 아카이브에 담는다
  • 아카이브 일부가 손상되어도 손상된 부분을 건너뛰고 나머지를 복구할 수 있다(-k)
  • 자체 증분 백업 기능은 없다. 바뀐 파일만 백업하려면 find -newer 로 목록을 골라 넘긴다
# 현재 디렉터리의 .conf 파일을 posein.cpio 로 백업
# ls *.conf | cpio -ocv > posein.cpio
# 복원
# cpio -icv < posein.cpio
  • 파일 목록은 파이프(|) 로 넘기고, 만든 아카이브는 리다이렉션(>) 으로 파일에 쓴다. 만들 때는 -o, 풀 때는 -i 다
도구 단위 증분 백업 특징
cpio 파일 목록 없음 특수 파일 백업, 손상 부분을 건너뛰고 복구
dd 블록(디스크·파티션 통째) 없음 파일을 골라 담을 수 없다. MBR·디스크 이미지
dump 파일 시스템 있음(0~9 레벨) EXT 계열 파일 시스템 전체 백업
rsync 파일·디렉터리 동기화 바뀐 부분만 전송 원격지 미러링