여러가지 백업 방법중 단연 최고라 할 수 있다.
그만큼 간편하고 성능도 막강하다.
PC에서도 rsync가 가능하다.
서버의 데이터를 rsync를 이용해서 PC로 백업하는 방법을 아직도 사용하고 있기는 하다. 하지만 최근에는 더 간편한 방법이 많아서 새로 시작하는 분에게는 PC에서의 rsnc는 추천하지 않는다.
하지만 백업서버를 운영하고 있는 사람이라면 단연 rsync가 최고 최적의 방법이다.
실제로 내가 사용하고 있는 백업 서버는 전에도 언급한 적이 있지만 노트북서버다.
버리는 노트북에 리눅스 깔아서 사용하는데 백업용으로는 흠잡을데 없다.
노트북이라 전기세도 별로 안나오고 공간도 별로 차지하지 않는데다 자체 배터리가 있어서 UPS도 필요없다. 그냥 책장구석에 처박아 두어도 잘만 돌아간다. 여기에 외장하드 빵빵한 것 하나 걸어두면 끝!!!
그냥 강추다.
먼저 서버에는 rsyncd가 설치되어 있어야한다.
dnf install rsync-daemon
systemctl start rsyncd
systemctl enable rsyncd.service
sudo vi /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode # See rsyncd.conf man page for more options. # configuration example: # uid = nobody # [ftp] [ServerWorkingfile]
[ServerDB]
[ServerHtdocs] exclude = /cache폴더 /썸네일폴더 /tmp /등등 #백업하지 않을 폴더들... |
서버에 selinux on 상태라면 퍼미션을 설정해줘야한다.
sudo chcon -R -t public_content_t /home/rsync폴더
sudo setsebool -P rsync_export_all_ro 1
서버 작업 끝
여기는 클라이언트 작업
rsync 클라이언트가 설치되어 있는지 확인
$ rpm -qa | grep rsync
rsync-daemon-3.1.3-19.el8_7.1.noarch <--서버데몬 rsync-3.1.3-19.el8_7.1.x86_64 <--클라이언트 |
설치가 되어있지 않다면 설치
sudo dnf install rsync
rsync -avz 서버아이피또는도메인::ServerWorkingfile /var/backup/ServerWorkingfile
ex)sudo rsync -avz -192.168.0.55::ServerWorkingfile /var/backup/ServerWorkingfile
동작이 안된다면 오자가 있거나 퍼미션 문제인 경우가 많다
DB백업처럼 아예 /etc/cron.daily 폴더에 스크립트를 만들어두면 신경꺼도 된다.
sudo vi /etc/cron.daily/rbackup.sh
#/* Syncro From Server */ rsync -avz --delete serverIP::ServerWorkingfile /var/backup/ServernWorkingfile rsync -avz --delete 192.168.0.55::ServerDB /var/backup/ServerDB rsync -avz --delete --exclude="files/cache/*" --exclude="files/thumbnails/*" 서버아이피::ServerHtdocs /var/backup/ServerHtdocs |
sudo chmod 755 /etc/cron.daily/rbackup.sh