본문 바로가기

LINUX & UNIX

rsync 원격백업,동기화,복사

반응형

 

 

1.rsync

Rsync(Remoe Sync)는 원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위해서 사용하는 툴이며 동시에 네트워크 프로토콜이다. 리눅스유닉스에서는 백업용도로 (아마도)가장 널리 사용하는 툴일 것이다(윈도우와 애플에도 포팅됐다). Rsync는 CLI툴로, 커맨드 라인의 옵션들을 이용해서 배치 프로그램을 개발하기 쉬다는 장점이 있다. 이 스크립트를 cron 등에 올리는 걸로 간단하게 백업 혹은 미러(mirror) 시스템을 구축할 수 있다.

 

2.Rsync의 장점들

  • 원격 시스템으로 부터 파일을 효율적으로 복사하거나 동기화 할 수 있다.
  • Link, device, 파일의 소유자와 그룹 권한(permissions)등 파일의 부가정보도 복사할 수 있다.
  • scp보다 빠르다. rsync는 remote-update 프로토콜을 이용해서 차이가 있는 파일만 복사한다. 처음에는 모든 파일과 디렉토리를 복사하겠지만, 다음부터는 차이가 있는 파일만 복사하기 때문에 더 빠르고 효율적으로 작동한다.
  • 데이터를 압축해서 송/수신하기 때문에 더 적은 대역폭을 사용한다.
  •  

    3.기본 사용법

     

    # rsync options source destination

     

    4.주요 옵션

  • -v : verbose
  • -r : Recursively 데이터 복사
  • -a : archive mode. 이 모드를 이용하면 심볼릭 링크, 파일 유저/그룹 권한, timestamp도 복사한다.
  • -z : 파일 데이터 압축. 대역폭수 있다. 물론 시간도
  • --delete : 원본서버 에서 파일이 지워지면 사본 서버에서도 삭제(동기화)
  •  

    5.rsync 설치 (CentOS)

    # yum install rsync

     

    6.원격 서버 의 파일을 로컬 서버에 복사(동기화)

    # rsync -avh 원격서버아이피::rsync_backup /home/backup

     

    7.rsync 데몬 프로그램 등록

    xinetd 설치

    #yum install xinetd 

     

    /etc/xinetd.d/rsync 설정 파일 수정

    # cat /etc/xinetd.d/rsync
    service rsync
    {
        disable = no
        socket_type = stream
        wait = no
        user = root
        server = /usr/bin/rsync
        server_args = --daemon
        log_on_failure += USERID
        flags = IPv6
    }

     

    rsync 설정 /etc/rsyncd.conf

    [rsync_backup]
    path=/home/backup/
    comment=rsync_backup
    uid=root
    gid=root
    use chroot=yes
    read only=yes
    hosts allow=접속 허용 아이피
    max connections=3
    timeout=600
  • 복사(동기화) 디렉토리로 /home/backup 을 선택했다.
  • 읽기 전용으로 했다.
  • 디렉토리에 대한 소유자는 root 로 한다.
  • 접속 허용 아이피 를 지정 했다.
  •  

     

     

    방화벽 을 사용중 이라면 TCP 873번 포트 를 Open 한다.

    부팅시 rsync 를 올리기 위해서는 chkconfig rsync on

     

    8.윈도우 에서 사용하는 rsync [cwRsync]

    https://www.itefix.net/content/cwrsync-free-edition

    cwRsync_5.4.1_x86_Free.zip 다운로드

    커맨드 라인 에서 리눅스,유닉스 와 마찬가지로 사용 할 수 있다.

     

     

    ※ 참고

    http://en.wikipedia.org/wiki/Rsync

    http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+tecmint+%28Tecmint%3A+Linux+Howto%27s+Guide%29

     

    반응형