VPS의 데이터를 가정용 PC에 백업(rsync, OpenVPN)
글쎄, 긴급시의 설비용으로.
환경
공통
VPS
집 PC
준비(OpenVPN)
준비 (rsync - 백업 대상)
rsyncd.conf
/etc/rsyncd.conf
uid = root
gid = backup
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
hosts deny = *
dont compress = *.gz *.tgz *.zip *.pdf *.sit *.sitx *.lzh *.bz2 *.jpg *.gif *.png
[backup-module-hostname]
comment = rsync server for backup
path = /mnt/backup/sakuravps/archive
use chroot = yes
hosts allow = 10.8.0.1
auth users = backup-user1
secrets file = /etc/rsyncd.secrets
read only = no
보충 및 메모
위의 모듈 이름의 hostname 부분은 백업 소스의 호스트 이름으로 바뀝니다.
rsyncd.secrets
/etc/rsyncd.secrets
backup-user1:password1
데몬 시작
rsync --daemon
준비 (rsync - 백업 소스)
각 파일을 백업 소스 서버의 동일한 디렉토리에 설치.
실행 스크립트
backup.sh
#!/bin/bash
MY_DIR="`readlink -f "$0" | sed 's!/[^/]*$!!'`"
REMOTE_ADDRESS=10.8.0.5
REMOTE_MODULE="backup-module-`hostname`"
REMOTE_PASSWORD=password1
REMOTE_USER=backup-user1
LOCAL_DIR=/
RSYNC_PASSWORD=$REMOTE_PASSWORD \
rsync \
-aAHXv \
--bwlimit=20m \
--delete \
--delete-excluded \
--exclude-from="$MY_DIR/exclude.list" \
--human-readable \
--progress \
"$LOCAL_DIR" \
"rsync://${REMOTE_USER}@${REMOTE_ADDRESS}/${REMOTE_MODULE}"
제외 파일
exclude.list
/dev/*
/etc/fstab
/etc/network/interfaces
/lost+found
/media/*
/mnt/*
/proc/*
/ramdisk/*
/run/*
/sys/*
/tmp/*
/var/lib/apt/lists/*
Ubuntu 환경의 백업으로서는, 기본은 상기를 제외해 두면 괜찮다고 생각한다.
SSH를 통해 복원하고 싶은 경우는 다음을 작성해 두는 것이 좋을지도. 다만 rsync 에 의한 강제 복원은 위험하기 때문에 비추천.
exclude.list
/etc/ssh/ssh_host_*
그 외, 전체 백업에 의존하지 않고 따로 관리하고 싶은 것이 있는 경우는 적는다.
실행
백업원에서 가동하고 있는 서버를 일단 떨어뜨려, 백업원의 스크립트를 실행.
처음에는 스크립트를 다시 작성하고 --dry-run으로 실행하는 것이 좋습니다.
참고
OpenVPN
How To | OpenVPN.JP
rsync
Reference
이 문제에 관하여(VPS의 데이터를 가정용 PC에 백업(rsync, OpenVPN)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/jiz/items/1df6ac1bc0520caeaa25텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)