백업 설치 · 4 min read · Sep 12, 2025

Rocky Linux 9에 Rsnapshot Linux 백업 설치하는 방법

Rsnapshot은 리눅스 기반 머신을 위한 백업 유틸리티입니다. 대부분의 리눅스 배포판에서 사용할 수 있으며, 패키지 관리자를 통해 쉽게 설치할 수 있습니다. rsnapshot은 Perl로 작성되었으며 의존성이 없고, 로컬 및 원격 백업을 지원합니다.

Rsnapshot을 사용하면 로컬 디렉토리를 백업할 수 있습니다. 원격 백업의 경우, rsnapshot은 ‘ssh’와 ‘rsync’를 활용합니다.

이 가이드에서는 Rocky Linux 9 서버에 Rsnapshot을 설치하고 구성하는 방법을 배웁니다. 또한 Rsnapshot과 Cron을 사용하여 자동 백업을 수행하는 방법도 배웁니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요:

  • Rocky Linux 9 서버
  • 관리자 권한이 있는 비루트 사용자

Rsnapshot 설치하기

Rsnapshot은 유닉스 계열 운영 체제를 위한 백업 유틸리티입니다. RedHat 기반 배포판에서는 EPEL(Enterprise Linux를 위한 추가 패키지) 저장소를 통해 Rsnapshot을 설치할 수 있습니다. 따라서 이 단계에서는 EPEL 저장소를 시스템에 추가한 다음 Rsnapshot을 설치합니다.

먼저, 아래 명령어를 실행하여 EPEL(Enterprise Linux를 위한 추가 패키지) 저장소를 Rocky Linux 서버에 추가합니다. ‘ Y ‘를 입력하여 EPEL 저장소를 확인하고 추가합니다.

sudo dnf install epel-release

add epel-release

EPEL이 추가되면 아래 ‘dnf’ 명령어를 실행하여 ‘rsnapshot’ 패키지를 설치합니다. 설치를 확인하려면 ‘ Y ‘를 입력합니다.

sudo dnf install rsnapshot nano firewalls

install rsnapshot

설치가 완료되면 아래 명령어를 사용하여 바이너리 파일 위치와 ‘rsnapshot’ 버전을 확인합니다.

which rsnapshot  
rsnapshot --version

아래 출력에서 ‘ rsnapshot1.4.5가 ‘ /usr/bin/rsnapshot ‘에 설치되어 있음을 확인할 수 있습니다.

check rsnapshot

원격 백업을 위한 SSH 구성하기

Rsnapshot을 통해 SSH를 사용하여 원격 백업을 수행하려면 서버에 대한 키 기반 인증을 구성해야 합니다. Rsnapshot 서버에서 SSH 키를 통해 대상 서버에 로그인할 수 있는지 확인하세요. 이 단계에서는 Rsnapshot 서버에서 SSH 키를 생성한 다음 공개 키를 대상 백업 서버에 업로드합니다.

Rocky Linux 서버에서 아래 ‘ ssh-keygen ‘ 명령어를 실행하여 새로운 SSH 키를 생성합니다.

ssh-keygen -t ed25519
  • 기본 위치인 ‘ ~/.ssh ‘ 디렉토리에 키를 저장하려면 ENTER를 누릅니다.
  • 암호를 입력하라는 메시지가 표시되면 ENTER를 두 번 누릅니다.

generate key

이제 아래 ‘ ssh-copy-id ‘ 명령어를 실행하여 SSH 키를 대상 머신에 업로드합니다. 이 예제에서는 ‘ 192.168.10.50 ‘ 서버에서 Rocky Linux 서버로 일부 데이터를 백업합니다.

ssh-copy-id [email protected]

프롬프트가 표시되면 비밀번호를 입력합니다. 업로드가 완료되면 비밀번호 없이 대상 서버에 로그인할 수 있으며 Rsnapshot을 설정할 준비가 됩니다.

ssh-copy-id upload key

로컬 및 원격 백업을 위한 Rsnapshot 설정하기

이제 SSH 키 기반 인증을 구성했으므로 Rsnapshot을 구성할 수 있습니다. 이 예제에서는 백업 디렉토리, 백업 보존, 로컬 파일 백업을 설정한 다음 SSH를 통해 원격 백업을 생성합니다.

기본 구성 ‘/etc/rsnapshot.conf’를 백업하고 ‘nano’ 편집기를 사용하여 수정합니다.

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig  
sudo nano /etc/rsnapshot.conf

snapshot_root ‘ 옵션에 백업 대상 경로를 추가합니다. 이 예제에서는 모든 백업이 ‘ /data/backup ‘ 디렉토리에 저장됩니다.

snapshot_root /data/backup/

cmd_rsync ‘, ‘ cmd_ssh ‘, ‘ cmd_du ‘, ‘ cmd_rsnapshot_diff ‘ 옵션의 주석을 제거합니다. 모든 명령의 경로가 올바른지 확인하세요.

cmd_rsync /usr/bin/rsync  
cmd_ssh /usr/bin/ssh  
cmd_du /usr/bin/du  
cmd_rsnapshot_diff /usr/bin/rsnapshot_diff

기본 ‘retain’ 구성을 다음과 같이 변경합니다. 이름은 선택 사항이며 필요에 따라 변경할 수 있습니다. 이 예제에서는 ‘ retain daily 6 ‘이 새로운 백업 디렉토리 ‘ daily.0 ‘에서 ‘ daily.5 ‘를 생성합니다.

retain daily 6  
retain weekly 7  
retain monthly 4

logfile ‘ 옵션의 주석을 제거하여 Rsnapshot의 로깅을 활성화합니다.

logfile /var/log/rsnapshot.log

ssh_args ‘의 주석을 제거하여 추가 SSH 명령을 전달합니다. 특히 비표준 포트에서 SSH를 실행하는 경우에 유용합니다.

ssh_args -p 22

이제 ‘ backup ‘ 구성을 다음과 같이 변경하여 로컬 디렉토리 ‘/home/arvdl’을 백업합니다.

backup /home/arvdl/ local

SSH를 통한 원격 백업의 경우 다음과 같은 구성을 사용합니다. 이 예제에서는 ‘ 192.168.10.50 ‘ 서버에서 ‘ /etc ‘ 및 ‘ /var/www ‘ 디렉토리를 Rsnapshot 서버로 백업합니다. 또한 SSH 키 기반 인증을 사용하는 올바른 SSH 사용자를 사용해야 합니다.

backup [email protected]:/etc/ rocky9  
backup [email protected]:/var/www rocky9

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

마지막으로 아래 ‘rsnapshot’ 명령어를 실행하여 구성을 확인합니다. 올바른 구성이면 ‘ Syntax is OK ‘라는 출력을 볼 수 있습니다.

rsnapshot configtest

Rsnapshot으로 백업 테스트하기

이 시점에서 Rsnapshot을 구성하고 로컬 및 원격 서버에 대한 백업을 생성했습니다. 이제 ‘rsnapshot’ 명령줄을 통해 Rsnapshot으로 수동으로 백업을 수행합니다. 또한 백업 크기를 확인하고 Rsnapshot 로그 파일을 확인합니다.

수동으로 백업을 수행하려면 ‘ rsnapshot ‘ 명령어 뒤에 보존 이름을 입력합니다. 예를 들어, ‘ daily ‘를 입력합니다. 이렇게 하면 ‘ snapshot_root ‘ 디렉토리에 새로운 백업이 생성됩니다.

rsnapshot daily

백업이 생성되었는지 확인하기 위해 ‘ snapshoot_root ‘ 디렉토리를 확인합니다. 이 예제에서 ‘snapshot_root’ 디렉토리는 ‘ /data/backup ‘입니다.

ls /data/backup

이제 아래 ‘ rsnapshot ‘ 명령어를 실행하여 백업 크기를 확인합니다. 다음 예제에서는 파일의 백업 크기가 ‘ 3MB ‘입니다.

rsnapshot du

rsnapshot du

마지막으로, Rsnapshot 작업에 대한 정보를 얻기 위해 Rsnapshot 로그 파일 ‘/var/log/rsnapshot ‘을 확인할 수 있습니다.

cat /var/log/rsnapshot

check log

Rsnapshot 및 Cronjob으로 자동 백업 설정하기

마지막 섹션에서는 Rsnapshot과 Cronjob을 사용하여 자동 백업을 설정하는 방법을 배웁니다. 이렇게 하면 ‘ rsnapshot ‘ 명령이 주기적으로 자동으로 Cron을 통해 실행됩니다.

다음 ‘ nano ‘ 편집기를 사용하여 새로운 cron 구성 파일 ‘ /etc/cron.d/snapshot ‘을 생성합니다.

sudo nano /etc/cron.d/rsnapshot

다음 구성을 삽입하여 Rsnapshot에 대한 crontab을 설정합니다. 다음 예제에서는 ‘rsnapshot daily’, ‘rsnapshot weekly’, ‘rsnapshot monthly’를 실행합니다.

# 매일 백업  
0 0 * * * root rsnapshot daily  
  
# 매주 백업  
0 0 * * 0 root rsnapshot weekly  
  
# 매월 백업  
0 0 1 * * root rsnapshot monthly

작업이 완료되면 파일을 저장하고 편집기를 종료합니다.

결론

축하합니다! Rocky Linux 9 서버에 Rsnapshot 설치 및 구성을 완료했습니다. 또한 기본 ‘rsnapshot’ 명령, 여러 Rsnapshot 보존 설정 방법, SSH를 통해 Rsnapshot으로 원격 백업하는 방법, Rsnapshot 및 Cronjob으로 자동 백업을 설정하는 방법도 배웠습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.