안녕하세요. 유광희 입니다.
리눅스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 
  
   | 
 
 
감사합니다.