백업 및 복원 · 4 min read · Sep 16, 2025
Linux 서버에서 Rsnapshot을 사용하여 백업 및 복원하는 방법

rsnapshot은 리눅스 기반 머신을 위한 백업 유틸리티입니다. 대부분의 리눅스 배포판에서 사용할 수 있으며, 패키지 관리자를 통해 쉽게 설치할 수 있습니다. rsnapshot은 Perl로 작성되었으며 의존성이 없으며, 로컬 및 원격 백업을 지원합니다.
rsnapshot을 사용하면 로컬 디렉토리를 백업할 수 있습니다. 원격 백업의 경우, rsnapshot은 ‘ssh’와 ‘rsync’를 활용합니다.
이 튜토리얼에서는 Linux 서버에서 Rsnapshot을 사용하여 백업 및 복원하는 방법을 배웁니다. 로컬 백업과 원격 백업을 위해 rsnapshot을 설정할 것입니다. 또한 rsnapshot과 cron을 사용하여 자동 백업을 설정하는 방법도 배웁니다.
필수 조건
이 가이드를 완료하려면 다음이 필요합니다:
- Debian, Ubuntu, CentOS 또는 기타 배포판과 같은 Linux 서버
- 관리자 권한이 있는 비루트 사용자
- 선택 사항, 원격 백업을 테스트할 추가 서버
rsnapshot 설치
rsnapshot은 대부분의 리눅스 배포판에서 사용할 수 있는 백업 유틸리티입니다. 해당 패키지 관리자를 통해 설치할 수 있습니다. 이 섹션에서는 Debian 서버에 rsnapshot을 설치할 것입니다. 따라서 다른 배포판을 사용하는 경우 현재 패키지 관리자를 사용하여 설치하십시오.
먼저, 다음 명령어로 패키지 인덱스를 업데이트합니다. 이 예제에서는 Debian을 사용할 것이며, Ubuntu, Linux Mint 등과 같은 Debian 기반 배포판을 사용할 수 있습니다.
sudo apt update
업데이트가 완료되면 아래 명령어를 실행하여 ‘rsnapshot‘ 패키지를 설치합니다. 설치를 확인하려면 ‘Y‘를 입력하십시오.
sudo apt install rsnapshot
설치가 완료되면 ‘rsnapshot‘ 바이너리 위치와 버전을 확인합니다.
which rsnapshot
rsnapshot --version아래에서 볼 수 있듯이, Rsnapshot 1.4가 ‘/usr/bin/rsnapshot‘에 설치되어 있습니다.

SSH 키 인증 구성
원격 백업을 수행할 때, rsnapshot 서버가 SSH 키 인증을 사용하여 대상 서버에 로그인할 수 있도록 해야 합니다. 따라서 원격 백업을 위해 다음이 필요합니다:
- 대상 서버에 로그인하는 데 사용할 사용자
- SSH 키 기반 인증이 활성화되어 있어야 합니다.
이 섹션에서는 rsnapshot 서버에서 SSH 키를 생성합니다. 그런 다음 사용자 ‘alice‘를 사용하여 ‘192.168.10.41‘의 대상 서버에 SSH 공개 키를 복사합니다.
‘rsnapshot’ 서버에서 아래의 ‘ssh-keygen‘ 명령어를 사용하여 SSH 공개 및 개인 키를 생성합니다. 위치 키와 비밀번호를 묻는 메시지가 표시되면 ‘ENTER’를 누릅니다.
ssh-keygen -t ed25519
이제 아래의 ‘ssh-copy-id‘ 명령어를 실행하여 SSH 공개 키를 대상 서버에 업로드합니다. 이 예제에서는 사용자 ‘alice‘를 사용하여 SSH 키 기반 인증으로 ‘192.168.10.41‘ 서버에서 원격 백업을 수행합니다.
ssh-copy-id [email protected]프롬프트가 표시되면 비밀번호를 입력합니다.

SSH 공개 키가 업로드되면 Rsnapshot을 설정할 준비가 완료됩니다.
rsnapshot 구성
이 섹션에서는 로컬 및 원격 백업을 위해 rsnapshot을 구성합니다. 기본 구성 ‘/etc/rsnapshot.conf‘를 수정하고, 기본 백업 디렉토리를 설정하고, SSH 및 Rsync와의 통합을 활성화하고, 간격 백업을 설정한 후 로컬 및 원격 백업을 구성합니다.
rsnapshot 기본 구성 ‘/etc/rsnapshot.conf‘를 복사하고 ‘nano‘ 또는 ‘vim‘ 편집기로 파일을 수정합니다.
sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig
sudo nano /etc/rsnapshot.conf기본 ‘snapshot_root‘를 새 디렉토리로 변경합니다. 이 디렉토리는 백업 데이터를 저장하는 데 사용됩니다.
snapshot_root /data/backup/원격 백업을 위해 SSH를 통해 rsync를 활성화하려면 ‘cmd_rsync‘ 및 ‘cmd_ssh‘ 옵션의 주석을 제거합니다.
cmd_rsync /usr/bin/rsync
cmd_ssh /usr/bin/ssh기본 백업 수준 또는 간격을 다음과 같이 변경합니다. 이름은 선택 사항이며 필요에 따라 변경할 수 있습니다. 이 예제에서는 ‘daily 6‘이 ‘daily.0‘에서 ‘daily.5‘까지의 백업 디렉토리를 생성합니다.
참고: 오류가 발생할 수 있으므로 공백 대신 TAB을 사용하십시오.
retain daily 6
retain weekly 7
retain monthly 4rsnapshot 로그를 파일에 활성화하려면 ‘logfile‘ 옵션의 주석을 제거합니다.
logfile /var/log/rsnapshot.log사용자 정의 SSH 포트를 사용하는 원격 서버를 실행하는 경우 ‘ssh_args‘ 옵션의 주석을 제거하고 포트를 변경합니다.
ssh_args -p 22이제 로컬 백업을 위해 다음과 같은 구성을 사용합니다. 이 예제에서는 로컬 디렉토리 ‘/home/arvd‘를 ‘local‘로 백업합니다. 대상 경로는 상대 경로여야 하며, 이는 ‘/srv/backup/name-interval/local‘과 같습니다.
backup /home/arvdl/ localSSH 및 rsync를 통한 원격 백업의 경우 다음과 같은 구성을 사용합니다. 이 예제에서는 원격 서버 ‘192.168.10.41‘에서 SSH 사용자 ‘alice‘를 사용하여 ‘/etc‘ 및 ‘/var/www‘ 디렉토리를 ‘server1‘ 상대 경로 디렉토리로 백업합니다.
backup [email protected]:/etc/ server1
backup [email protected]:/var/www server1작업이 완료되면 파일을 저장하고 종료합니다.
rsnapshot을 구성한 후, 다음 명령어로 rsnapshot 구성을 확인하고 테스트합니다. 올바른 구성이면 ‘Syntax OK‘라는 출력을 볼 수 있습니다.
rsnapshot configtestrsnapshot 백업 수동 테스트
이제 rsnapshot을 구성했으므로 rsnapshot을 사용하여 백업을 수동으로 테스트하고 백업 디렉토리 및 rsnapshot 로그 파일을 확인합니다.
백업을 수동으로 테스트하려면 아래의 ‘rsnapshot’ 명령어를 실행합니다. ‘daily‘를 백업 이름으로 변경해야 합니다.
rsnapshot daily프로세스가 완료되면 다음 명령어로 백업 디렉토리 ‘/srv/backup‘를 확인합니다. 로컬 및 원격 서버에서 백업 파일이 포함된 새로운 백업 디렉토리 ‘daily.0‘를 볼 수 있습니다.
ls /srv/backup/이제 아래의 명령어를 실행하여 rsnapshot에 의한 디스크 사용량을 확인합니다.
rsnapshot du아래 출력에서 rsnapshot 백업의 총 디스크 사용량이 5MB임을 확인할 수 있습니다.

마지막으로 백업 프로세스를 확인하기 위해 백업 로그 파일 ‘/var/log/rsnapshot.log‘를 확인합니다.
cat /var/log/rsnapshot.log다음은 백업이 성공했지만 ‘/etc/shadow‘ 파일을 백업할 때 권한 거부와 같은 몇 가지 경고가 있음을 보여줍니다.

Cron을 통한 자동 백업
자동 백업을 위해 rsnapshot을 cron과 통합할 수 있습니다. 예를 들어, ‘daily‘, ‘weekly‘, ‘monthly‘로 자동 백업을 설정할 수 있습니다.
‘nano’ 편집기로 ‘/etc/cron.d/rsnapshot‘ 파일을 엽니다. 이 파일은 rsnapshot에 의해 생성된 예제입니다.
sudo nano /etc/cron.d/rsnapshotrsnapshot을 통해 자동 백업을 위한 다음 구성을 입력합니다. 이 예제에서는 ‘daily‘ 백업이 매일 실행되며, ‘weekly‘ 및 ‘monthly‘도 각각의 시간에 실행됩니다.
0 0 * * * root rsnapshot daily
0 0 * * 0 root rsnapshot weekly
0 0 1 * * root rsnapshot monthly파일을 저장하고 편집기를 종료합니다.
이로써 자동 백업이 cron을 통해 실행됩니다.
rsnapshot 백업 복원
rsnapshot 백업을 복원하려면 백업 디렉토리에서 데이터 복사만 하면 됩니다. 이 예제에서는 백업 디렉토리 ‘/srv/backup’에서 데이터를 복사할 수 있습니다.
결론
축하합니다! rsnapshot을 설치하고 로컬 및 원격 백업을 위해 rsnapshot을 설정하는 튜토리얼을 완료했습니다. 또한 몇 가지 기본 ‘rsnapshot’ 명령을 배웠습니다. 마지막으로 rsnapshot과 cron을 사용하여 자동 백업을 설정하는 방법도 배웠습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.