본문 바로가기
🐧Linux

리눅스 백업 관련 명령어

by 캔 2024. 3. 25.

tar

파일을 모아 아카이브 파일 생성(archive)하거나 아카이브 파일에서 원래 파일 추출(extract)

tar -cvf archive.tar directory # 전체 백업

 

tar -xvf archive.tar # 전체 백업 복원

 

tar -g snapshot -cvf archive0.tar directory # 증분 백업(최초 백업, 레벨 0 백업)
tar -g snapshot -cvf archive1.tar directory # 증분 백업

 

# 증분 백업 복원. 백업한 순서대로 복원
tar -xvf archive0.tar
tar -xvf archive1.tar

 

cpio

아카이브로 파일 복사하거나 아카이브에서 파일을 추출. 하나의 파일로 아카이브하기 위한 목적의 tar와 다르게 하나의 디렉터리를 다른 디렉터리로 파일을 복사하기 위해 개발.

 

ls | cpio -ov -H tar > archive.tar # copy-out 모드. tar 형식 아카이브.

cpio -iv < archive.cpio # copy-in 모드 파일 추출

cpio -ivt < archive.cpio # copy-in 모드 파일 목록 출력

find . -depth -print0 | cpio --null -pvd new-directory # copy-pass 모드

 

* '<'는 from, '>'는 to라고 생각하면 편하다.

 

dump

파티션 단위로 백업

# 0은 전체 백업을 의미. 1~9는 부분 백업 레벨
dump -0f /dev/nst0 /home # /home 디렉터리를 /dev/nst0 장치에 백업

# /dev/hda7 장치를 백업하여 backup.dump 생성
# dump 완료 후, 백업 정보를 /etc/dumpdates에 기록
dump -0uf backup.dump /dev/hda7

 

dd

파티션, 디스크 단위로 백업

# /dev/sda 장치를 /dev/sdb1로 백업
dd if=/dev/sda of=/dev/sdb1 bs=1k # 블록 크기는 1KB

dd if=/dev/sda of=~/disk.img

 

restore

dump 명령어로 백업한 파일 복원

restore -rf backup.dump

 

rsync

원격 파일 동기화 도구. 델타 전송 알고리즘을 사용하여 속도가 빠름. 같은 파일을 업데이트해야 하는 경우에 유용함.

rsync -avz local_directory remote_host:remote_directory

# -e 옵션을 사용하여 ssh를 사용하여 전송 가능하다. 아래는 2222 포트로 ssh를 사용하여 전송한 예제이다.
rsync -avz -e 'ssh -p 2222' local_directory remote_host:remote_directory