우분투(ubuntu) crontab을 이용한 서버 파일 동기화


우선 서버역할과 클라이언트 역할을 하는 서버가 각각 1대 이상 존재 해야 한다.

( 물론 1대의 서버안에서 폴더별 동기화를 한다면 각각 있을 필요는 없지만 서버간 동기화 기준으로 설명 )


    • server 설정 ( 변경된 파일을 가지고 있는 서버 )

   

   - rsync 패키지 설치

     # apt-get install -y rsync 


   rsync 사용으로 설정 파일 수정

# vi /etc/default/rsync

RSYNC_ENABLE=true 로 변경


- rsync.conf 파일 생성 후 작성

# vi /etc/rsyncd.conf

log file = /var/log/rsync.log #로그파일 설정

[backup] #미러링 될 이름 (Destination)

path = /var/backup #rsync 할 디렉토리 설정

comment = back rsync #설명 부분

uid = root #rsync 접근 가

gid = root #rsync 접근 가능 그룹

use chroot = yes #chroot 사

read -nly = no #읽기 전용으로 설정

host allow = xxx.xxx.xxx.xxx #해당 호스트만 접근 가능

max connection = 100 #최대 연결 개수

timeout 300 #시간 초과 설정


- rsync 재시작

#/etc/init.d/rsync restart




    • client 설정 ( 변경될 파일을 가지고 있는 서버 )


   - rsync 패키지 설치

      # apt-get install -y rsync


    - rsync 실행  ( rsync -avz {서버ip 또는 도메인}::{미러링 이름} {복사 되어야 할 client 폴더 path} )

      # rsync -avz xxx.xxx.xxx.xxx::backup /var/client/backup

      



    • crontab을 이용하여 1분마다 동기화 진행

    # crontab -e

      0-59/1 * * * * rsync -avz xxx.xxx.xxx.xxx::backup /var/client

 

 

 

[출처] 우분투 16.04 파일 동기화 ( ubuntu rsync )|작성자 feelydh