320x100
320x100

백업을 하기 전에 고려해야할 사항

- 백업 대상

- 전체 백업 / 부분 백업 (증분 백업 / 차등 백업)

- 백업 주기

- 백업 매체

- 백업 방법

 

※ 전체 백업

: 디스크나 파티션 전체를 백업

 

※ 증분 백업

: 추가된 내용만 백업

 

※ 차등 백업

: 바뀐 부분만 백업

 

 

 

 

 

시스템 백업 관련 명령어

- tar

- cpio

- dump

- restore

- dd

- rsync

 

 

 

 

tar

: 파일과 디렉터리들을 하나로 묶음으로써 간단하게 백업 가능

 

- 전체 백업 예시

: tar -cvfp backup_file.tar /dev/sda

 

- 전체 복원 예시

: tar xvf backup_file.tar

 

- 증분 백업 예시

: tar -g backup_list -cvfp test.tar /home

 > -g 옵션으로 backup_list 파일을 기반으로 증분 백업

 

- 차등 백업 예시

: tar -c -v -N '13 Oct 2022' -f test.tar /home

 > 22년 10월 13일 이후로 변경된 파일만 백업

 

- 분할 및 압축 백업 예시

: tar -zcvf - /home | split -b 128m - home.tar.gz

 > /home 디렉터리를 압축하여 128mb 단위로 백업

 

 

 

 

 

cpio

: tar 보다 빠른 파일 및 디렉터리 복사 도구

 

- 형식

: [command | ] cpio <option> > <file name>

: cpio <option> > <file name>

 

- 주요 옵션

: -o (--create)

 > 표준 출력으로 데이터를 보냄

: -i (--extract)

 > 표준 입력으로 데이터 입력. 복원 시 사용

: -v (--verbose)

 > 상세 출력

: -c

 > 아카이브 포맷 형식을 newc로 설정

: -d (--make-directories)

 > 필요한 경우 디렉터리 생성

: -t (--list)

 > 백업 및 복원할 내용만 확인

: -F (--file=<file name>)

 > 표준 입출력 기호 (|, >, <) 대신에 파일명 지정

: -B

 > 입출력 블록 사이즈 조정. 기본값 512byte

: -H <format> (--format <format>) 

 > 아카이브 포맷 형식 지정. bin, newc, crc 등

 

- 예시

```

find /home/testUser | cpio -ocv > test.cpio

: 디렉터리를 test.cpio로 백업

 

cpio -icdv < test.cpio

: 현재 디렉터리에 test.cpio의 데이터 복원

 

ls *.conf | cpio -ocv > conf_backup.cpio

: 현재 디렉터리 내 .conf 파일들을 백업

 

cpio -icvt '2*.conf' < conf_backup.cpio

: conf_backup.cpio 파일의 내용 중 2로 시작하는 .conf 파일들의 목록 출력

 

cpio -iF config.cpio

: config.cpio 파일 내용 복원

```

 

 

 

 

 

dump

: 파티션 단위로 백업

: 전체 백업과 증분 백업 지원

 > 0~9 단계 레벨로 증분 백업 (0이 전체 백업, 나머지는 부분 백업)

: ext2, ext3, ext4만 지원

 

- 형식

: dump <option> <file name> <backup target>

 

- 주요 옵션

: -0~9

 > 백업 레벨

: -f

 > 백업할 대상

: -u 

 > /etc/dumpdatabases 백업 관련 정보 기록.

 

- 예시

```

dump -0u -f backup.dump /dev/sda

: /dev/sda 퍼티션을 전체 백업하고 관련 정보 기록

```

 

 

 

 

 

restore

: dump로 백업한 내용을 복원

: 파일 기반으로 백업한 경우 복원할 파티션 영역에 해당 파일을 복사하여 실행

 

- 형식

: restore <option> <backup file>

 

- 주요 옵션

: -i

 > 터미널에서 대화식으로 복원 진행

: -f

 > 복원할 대상

: -r

 > 전체 복원. 마운트된 파일 시스템에만 가능

 

 

 

 

 

dd

: 파티션이나 디스크 단위로 백업

: 시간이 많이 소요되는 단점 존재

 

- 형식

: dd if=<input file> [input option] of=<output file> [output option]

 

 

 

 

 

rsync

: 네트워크로 연결된 원격지의 파일을 동기화

: 링크된 파일이나 디바이스 파일 복사 가능. 그룹을 포함한 소유권 및 허가권까지 유지하여 복사

: tar과 유사한 옵션 사용. 특정 부분만 백업 가능

: ssh나 rsh를 이용한 전송 가능하며 root 권한이 불필요

: 내부 파이프라인을 통해 전송시간 단축

: 익명 사용자 및 인증된 사용자 지원. 미러링 구성 시 가장 좋은 도구

: 로컬 시스템 백업 시 별다른 서버 설정 불필요

 

- 형식

: rsync [option] source destination

 

- 주요 옵션

: -r (--recursive)

 > 하위 디렉터리까지 실행

: -l (--links)

 > 심볼릭 링크 보존

: -L (--copy-links)

 > 심볼릭 링크가 참조하는 파일 복사

: -p (--perms)

 > Permission 보존

: -t (--times)

 > 타임 스탬프 보존

: -g (--group)

 > 그룹 소유권 보존

: -o (--owner)

 > 사용자 소유권 보존 (root 계정만 사용 가능)

: -D 

 > 디바이스 파일 보존

: -H (--hard-links)

 > 하드링크 보존

: -a (--archive)

 > -rlptgoD 옵션 한번에 실행

: -v (--verbose)

 > 자세히 출력

: -u (--update)

 > 업데이트 된 내용만 전송

: -z (--compress) 

 > 전송 시 압축 실행

: -b (--backup)

 > 백업 시 같은 이름의 파일 있으면 파일명에 ~을 붙혀서 백업 파일 생성

: -e (--rsh=<command>)

 > 원격지에서 사용할 셸 명령어

: --progress

 > 명령이 실행되는 동안의 전송 상황 출력

: --delete

 > 송신측에 없는 파일이 수신측의 백업 디렉터리에 존재하면 삭제

 

- 예시

```

rsync -av /test_home /deploy_home

: /test_home을 그대로 /deploy_home에 복원

 

rsync -avz 192.168.100.1:/test_home /

: 원격지의 /test_home 디렉터리를 루트 디렉터리에 복원. 원격지에 rsync 데몬이 없는 경우 ssh 사용하여 전송

 

rsync -avz -e ssh 2mukee@192.168.100.1:/test_home /backup_dir

: 원격지에 ssh로 접속하여 백업

```

 

 

 

 

 

Refference

 

리눅스마스터 1급 2차 실기 정복하기 | 정성재 - 교보문고

리눅스마스터 1급 2차 실기 정복하기 | 출제 경향을 반영하여 핵심 내용만 요약 정리 시험대비를 위한 최신 기출문제를 해설과 함께 수록본 교재는 독자들이 최근 출간 요구가 많았던 리눅스마

product.kyobobook.co.kr

 

300x250
728x90