백업 자동화 · 2 min read · Feb 08, 2026

rdiff-backup을 이용한 자동 백업 - 2페이지

3단계: server1.example.com에서 공개 키 편집하기

server1.example.comroot로 로그인하고 /root/.ssh/authorized_keys를 확인하세요. 다음과 비슷하게 보여야 합니다:

| ssh-rsa AAAAB3Nza[...]W1go9M= rdiff-backup@backup |

이제 다음 문자열을 /root/.ssh/authorized_keys의 앞에 추가하세요:

command=”rdiff-backup –server –restrict-read-only /“,from=”backup.example.com”,no-port-forwarding,no-X11-forwarding,no-pty

키와 공백으로만 구분된 한 줄로 작성해야 합니다(!):

| command="rdiff-backup --server --restrict-read-only /",from="backup.example.com",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3Nza[...]W1go9M= rdiff-backup@backup |

이렇게 하면 backup.example.com의 사용자 rdiff-backupserver1.example.com에 SSH로 연결할 때 rdiff-backup –server –restrict-read-only /* 명령이 실행됩니다. –restrict-read-only /rdiff-backupserver1.example.com에서 읽기 전용 액세스만 갖도록 보장합니다. 이것이 작동하는지는 사용 중인 rdiff-backup 버전에 따라 다릅니다. 작동하지 않는 경우 –restrict-read-only /*를 생략할 수 있으며, 그러면 다음과 같이 읽습니다:

command=”rdiff-backup –server”,from=”backup.example.com”,no-port-forwarding,no-X11-forwarding,no-pty

from=”backup.example.com”에는 backup.example.com의 IP 주소의 역 조회 결과로 반환되는 호스트 이름을 사용해야 합니다. 예를 들어, backup.example.com의 IP 주소가 1.2.3.4이고, **

dig -x 1.2.3.4

가 반환하는 결과:

| rdiff-backup@backup:~$ dig -x 1.2.3.4 ; <> DiG 9.2.4 <> -x 1.2.3.4 ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38020 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;4.3.2.1.in-addr.arpa. IN PTR ;; ANSWER SECTION: 4.3.2.1.in-addr.arpa. 43200 IN PTR server3245.somehoster.com. ;; Query time: 118 msec ;; SERVER: 145.253.2.75#53(145.253.2.75) ;; WHEN: Thu Oct 13 14:56:03 2005 ;; MSG SIZE rcvd: 83 rdiff-backup@backup:~$ |

그렇다면 server3245.somehoster.com을 사용해야 합니다:

command=”rdiff-backup –server –restrict-read-only /“,from=”server3245.somehoster.com”,no-port-forwarding,no-X11-forwarding,no-pty

backup.example.com의 IP 주소를 사용할 수도 있습니다:

command=”rdiff-backup –server –restrict-read-only /“,from=”1.2.3.4”,no-port-forwarding,no-X11-forwarding,no-pty

다음으로 실행하세요:

chmod -R go-rwx /root/.ssh

그런 다음 /etc/ssh/sshd_config를 확인하세요. 다음과 같은 줄이 포함되어 있어야 합니다:

| RSAAuthentication yes PubkeyAuthentication yes |

/etc/ssh/sshd_config를 변경해야 했다면 SSH를 재시작하세요:

/etc/init.d/ssh restart

4단계: backup.example.com에서 rdiff-backup 테스트하기

다시 backup.example.com으로 돌아가서, 사용자 rdiff-backup로 백업을 테스트합니다:

cd /backup
rdiff-backup server1_backup::/boot boot

두 번째 명령어에서 server1_backup 문자열을 볼 수 있습니다. 이는 /backup/.ssh/config에서 host 뒤에 사용한 문자열입니다. 이 두 번째 명령어를 통해 사용자 rdiff-backupserver1.example.comroot 사용자로 연결하고, server1.example.com/boot 디렉토리를 backup.example.com/backup/boot 디렉토리에 저장합니다. 작동하고 비밀번호를 입력할 필요가 없다면 - 축하합니다! 성공하셨습니다!

이제 남은 것은 크론 작업을 만드는 것입니다. 여전히 사용자 rdiff-backup로 실행하여:

crontab -e

다음과 같은 크론 작업을 생성하세요:

40 2 /usr/bin/rdiff-backup –exclude /tmp –exclude /mnt –exclude /proc –exclude /dev –exclude /cdrom –exclude /floppy server1_backup::/ /backup/server1*

이렇게 하면 매일 밤 2시 40분에 백업이 실행되어, server1.example.com/ 디렉토리와 모든 하위 디렉토리(/tmp, /mnt, /proc, /dev, /cdrom, /floppy 제외)가 backup.example.com/backup/server1에 저장됩니다.

(참고 (조금 주제에서 벗어남): Debian Sarge에서 crontab -e는 자동으로 편집기 nano를 엽니다. vi 편집기를 사용하는 데 익숙하다면, 다음 명령어를 실행하세요:

rm -f /etc/alternatives/editor
ln -s /usr/bin/vi /etc/alternatives/editor

그 후 crontab -e를 실행하면 vi가 열립니다.)

rdiff-backup 명령어에 대해 더 알아보려면 (특히 백업 복원 방법), 다음을 실행하세요:

man rdiff-backup

그리고 http://www.nongnu.org/rdiff-backup/examples.html을 확인하세요.

링크

rdiff-backup 홈페이지: http://www.nongnu.org/rdiff-backup/index.html

rdiff-backup 예제: http://www.nongnu.org/rdiff-backup/examples.html

Share: X/Twitter LinkedIn

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

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