리눅스 시스템을 운영하면서 데이터 손실을 방지하기 위해 백업 및 복구 설정은 필수적입니다. 이 글에서는 전체 시스템 백업, 특정 디렉터리 백업, 그리고 복구 방법에 대해 알아보겠습니다.
“lsblk”명령어를 통해서 디스크 목록을 확인

포스팅 목차
전체 시스템 백업
1. dd를 사용한 디스크 이미지 생성
dd 명령어는 디스크의 전체 이미지를 생성하는 데 유용합니다. 디스크의 모든 데이터를 그대로 복사하여 이미지 파일로 저장할 수 있습니다.
시스템, OS 별로 디스크 목록이 다를 수 있습니다. 아래 명령어는 예시입니다.
sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M
현재 시스템에 전체 시스템 백업을 대입
sudo dd if=/dev/nvme0n1 of=/mnt/backup/backup.img bs=4M status=progress
백업 이미지를 저장할 경로(/path/to/backup.img)는 충분한 저장 공간이 있는 외부 디스크나 네트워크 드라이브를 사용하는 것이 좋습니다.

주의사항
디스크 크기 : dd는 디스크의 모든 섹터를 복사하므로, 백업 이미지는 원본 디스크와 동일한 크기를 차지합니다. 충분한 저장 공간이 있는지 확인하세요.
복구 시 주의 : dd로 생성한 이미지를 복구할 때는 원본 디스크와 동일한 크기 또는 더 큰 디스크가 필요합니다.
dd if=/mnt/backup/backup.img of=/dev/nvme0n1 bs=4M status=progress
2. tar를 사용한 디스크 이미지 생성
전체 시스템 백업
전체 시스템을 백업할 때는 /mnt/backup 디렉터리에 백업 파일을 저장한다고 가정합니다.
sudo tar --exclude=/mnt/backup --exclude=/proc --exclude=/tmp --exclude=/mnt --exclude=/sys --exclude=/dev --exclude=/run -cvpzf /mnt/backup/full_backup.tar.gz --one-file-system /
–exclude: 백업에서 제외할 디렉터리를 지정합니다.
시스템 디렉터리 중 백업이 필요 없는 디렉터리를 제외합니다.
-c: 아카이브를 생성합니다.-v: 진행 상황을 출력합니다.
-p: 파일 권한을 유지합니다.
-z: gzip으로 압축합니다.
-f: 파일 이름을 지정합니다.
–one-file-system: 다른 파일 시스템을 제외하고 현재 파일 시스템만 백업합니다.
전체 시스템 복구
전체 시스템을 복구할 때는 부팅 가능한 라이브 USB 또는 CD로 부팅한 후, 백업 파일을 복원합니다.
sudo tar -xzvpf /mnt/backup/full_backup.tar.gz -C /
특정 디렉터리 백업
예를 들어, /var 디렉터리를 백업한다고 가정합니다.
sudo tar -cvpzf /mnt/backup/var_backup.tar.gz /var
-c: 아카이브를 생성합니다.
-v: 진행 상황을 출력합니다.
-p: 파일 권한을 유지합니다.
-z: gzip으로 압축합니다.
-f: 파일 이름을 지정합니다.
특정 디렉터리 복구
/var 디렉터리를 복원합니다.
sudo tar -xzvpf /mnt/backup/var_backup.tar.gz -C /