O/S - cpueblo.com

rsync 를 이용하여 주 2 회 서버 풀 백업 스크립트


글쓴이 : 유광희 날짜 : 2013-12-07 (토) 23:16 조회 : 8670

안녕하세요유광희 입니다.

리눅스Cent OS 에서 rsync 를 이용하여 원격 백업하는 스크립트 입니다.

제가 외부 서버 백업할 때 사용하는 스크립트 입니다.

B 서버에 A 서버의 내용을 모두 백업합니다.

백업할 원격 서버 세팅 (A 서버)

 

# vi /etc/rsyncd.conf

[server_fullbackup]

path = /
uid = root
gid = root
use chroot = yes
read only = yes
hosts allow = 111.222.333.444
max connection = 2
timeout = 300


접속하는 서버는 IP 로만 설정하고 있습니다.

여러 대상을 허용하고 싶을때에는 111.222.333.444,33.33.33.33 식으로 , 로 구분하면 됩니다.

 

백업받을 로컬 서버 세팅 (B 서버)

 

Crontab 설정

 

# crontab –e

00 4 * * 0 /home/backup/crontab_backup_cpueblo_week
00 4 * * 4 /home/backup/crontab_backup_cpueblo_week


 매주 목요일과 일요일 새벽 4시에 백업하도록 합니다.

 

/home/backup/crontab_backup_cpueblo_week 파일 생성

 

# vi /home/backup/crontab_backup_cpueblo_week

#!/bin/sh
export LANG=en
week="`date '+%A'`"
mkdir -p /home/backup/cpueblo.com/$week
rsync -avz --delete cpueblo.com::server_fullbackup /home/backup/cpueblo.com/$week

# 폴더 하위에 백업한 시간을 기록
touch /home/backup/cpueblo.com/$week


--delete 옵션은 대상 서버에서 삭제된 파일은 백업에도 삭제하도록 합니다.
/home/backup/cpueblo.com
의 폴더를 생성해 주셔야 합니다.

 

자동 백업후 생성된 폴더의 모습

 

[root@home cpueblo.com]# ls -al /home/backup/cpueblo.com
합계 16
drwx------  4 root root 4096 2013-09-13 10:52 .
drwx------  4 root root 4096 2013-12-07 23:01 ..
drwxr-xr-x 27 root root 4096 2013-12-01 04:00 Sunday
drwxr-xr-x 27 root root 4096 2013-12-05 04:00 Thursday


 

감사합니다.