Linux

[Linux] Backup 및 Restore 관련 명령어(1) - cpio

thdwldud 2025. 11. 7. 15:09

cpio(copy input to output)

  • tar와 비슷한 유틸리티로 많은 양의 데이터에 대해서 tar보다 빠름
  • 장치 파일이나 네트워크 파일 등의 특수 파일도 백업 가능
  • 백업본의 크기도 작고, 백업본에 손상된 부분이 있더라고 손상된 부분을 제외하고 나머지 부분을 복구
  • 기존의 명령어를 사용하여 백업을 진행하므로 다양한 조건을 활용한 백업이 가능
  • 단점으로는 증분 백업 기능은 지원하지 않음
[셸 명령어 | ] cpio option > 파일명
cpio option < 파일명

 

옵션

옵션 설명
-o
--create
표준 출력으로 보내어 사용
-i
--extract
표준 입력으로 받을 때 사용
백업한 자료를 불러올 때 사용
-v
--verbose
과정을 상세히 출력
-c
--H newc
아카이브 포맷 형식을 ‘new SVR4 portable format with no CRC’으로 지정
-d
--make-directories
필요할 경우 디렉터리를 생성
-t
--list
내용만 확인할 때 사용
-F
--file=파일명
표준 입출력 전환 기호 대신에 파일명을 지정할 때 사용
-B 입출력 블록 사이즈를 조절할 때 사용
기본 512byte이고 최대 5120byte까지 가능
-H 포맷
--format 포맷
아카이브 포맷 형식을 지정하는 옵션으로 ‘bin’, ‘newc’, ‘crc’ 등의 값을 사용 가능

 

사용 예

  • /home 을 home.cpio 파일로 백업
find /home | cpio -ocv > home.cpio
  • home.cpio의 내용을 현재 디렉터리에 복원
cpio -icdv < home.cpio
  • *.conf 파일을 conf.cpio로 백업
ls *.conf | cpio -ocv > conf.cpio
  • conf.cpio에 백업된 데이터를 복원
cpio -ic < conf.cpio
  • conf.cpio의 내용만 확인
cpio -icvt < conf.cpio
  • conf.cpio의 내용 중 s*.conf에 해당하는 내용만 보여줌
cpio -icvt "s*.conf" < conf.cpio
  • 현재 디렉터리에 있는 .conf 로 끝나는 모든 파일을 conf2.cpio로 백업
ls *.conf | cpio -ocvF conf2.cpio
  • conf2.cpio로 백업된 데이터를 복원
cpio -iF conf2.cpio