Ubuntu - rsync 설치 및 사용법

     

     

    이번 포스팅에서는 Ubuntu에서 rsync 설치 방법과 사용법에 대해서 알아보겠습니다.

     

     

     

       rsync는 무엇인가?

     

     

    rsync는 서로 다른 컴퓨터간에 파일을 효율적으로 전송하고 동기화하는 유틸리티입니다

     
    또한, 추가된 파일이나 수정된파일만 전송이 가능하며, 파일의 수정일자와 소유자, 속성까지 그대로 복사 또는 동기화할 수 있습니다 그리고 세션파일과 같이 제외하고 싶은 폴더나 파일을  제외하고 복사할 수 있습니다.

     

     

     

       ubuntu rsync 설치하기

     

    1. Ubuntu rsync 설치

     

    # apt-get -y install rsync

     

    2. Ubuntu rsync 실행

     

    # systemctl start rsync

     

     

       ubuntu rsync 설정파일

     

     

    1. /etc/rsync.conf 파일 수정

     

    # vi /etc/rsyncd.conf
    
    [web]            -> 사용할 rsync 서비스 이름
    path = /home/web  -> 데이터원본 경로
    comment = rsync_test    -> 코멘트
    uid = root              -> 권한 사용자
    gid = root              -> 권한 그룹
    use chroot = yes
    read only = yes
    hosts allow = 192.168.10.10 -> rsync 클라이언트IP, localhost일 경우 입력하지 않아도 된다
    max connections = 10
    timeout = 30

     

     

    2. /etc/rsync.conf 파일 수정 적용

     

    # systemctl restart rsync

     

     

       Ubuntu rsync 옵션

     

     

    rsync 사용시 옵션을 잘 확인하신 후 진행하시기 바랍니다 옵션을 정확하게 확인하지 않고 진행하시면 파일이 삭제, 덮어쓰기 등등의 문제가 발생할 수 있으니 꼼곰하게 확인하고 진행하셔야 됩니다

     

    rsync 사용법 : rsync [옵션] [IP]::[RSYNC 서비스 이름] [저장될 경로]

     

    옵션 내용
    -a 파일의 수정일자 소유자정보를 그대로 전송하는 옵션 입니다.
    -v 파일을 복사할 경우 전송 파일명, 전송량 등 전송과정을 출력하는 옵션 입니다.
    -r 하위 디렉토리까지 전송하는 옵션 입니다.
    -l 심복릭 링크까지 전송하는 옵션입니다.
    -n 실제 파일을 복사하지 않고 처리될 파일의 대상의 목록만 출력하는 옵션 입니다.
    -u 저장 경로 보다 백업 대상의 파일이 최신의 경우 파일을 복사지 않는 옵션입니다.
    -z 파일을 전송시 압축해서 전송하는 옵션 입니다.
    -p 파일의 권한을 유지하고 전송하는 옵션 입니다.
    --bwlimit 전송속도를 지정하는 옵션 입니다.
    --delete 원본 서버에 파일이 삭제되었거나 전송받는 서버에 파일에도 삭제되는 옵션 입니다(동기화 또는 미러링 기능)
    --exclude 파일 전송시 제외할 파일을 지정하는 옵션 입니다.

     

     

     

     

       rsync를 통한 백업 구성하기

     

    rsync를 통해 백업을 사용할경우 어떠한 방식으로 백업을 진행할지 고려해야 됩니다

     

    백업은 무결성이 1원칙입니다 백업 구성을 제대로 구성하지 않아 유사시에 백업된 원본 데이터를 복원하지 못한다면 큰 낭패를 볼 수 있습니다 다음과 같이 서비스에 맞는 백업구성을 하여 안전하고 효율적인 백업을 권장 드립니다.

     

    백업제목 백업 내용
    백업 주기 매일 1회
    백업 기간 1일
    백업 대상 /home/web
    저장 경로 /backup/web
    백업 시간 AM : 01:00
    rsync 서비스 web
    특이 사항 원본 데이터의 기간에 따라 [원본데이터 용량] * [보관 기간]으로 용량을 용량을 확인하셔야 됩니다

     

    위 구성은 디테일하게 구성하지 않았습니다 그러나 rsync를 통해 어떻게 백업할지 구성을 하시고 용량, 부하 속도를 서버 상태에 맞게 적절하게 구성하시면 됩니다.

    또한, 백업 구성의 맞게 자동화 Shell Script를 Cron을 이용하여 멋진 백업 시스템을 만들 수 있습니다.

     

     

       rsync를 통한 백업 예제

     

    1. rsync 백업

     

    사용법 : rsync -avzurt [서버 IP]::[rsync 서비스] [저장경로]

     

    # rsync -avzurt 192.168.10.5::web /backup/web

     

    가장 자주쓰이는 일반적인 옵션 입니다.

     

     

     

    2. 전송속도를 지정하여 rsync 백업

     

    사용법 : rsync -avzurt --bwlimit=[대역폭] [서버 IP]::[rsync 서비스] [저장경로]

     

    # rsync -avzurt --bwlimit=1000 192.168.10.5::web /backup/web

     

    rsync를 통해 백업을 진행할 경우 원본 데이터의 서버의 부하을 줄수 있습니다 이러한 경우 대역폭을 지정하여 다른 서비스에 영향을 주지 않게 하기위해 사용 됩니다.

     

     

     

     

    3. 제외할 항목을 통한 rsync 백업

     

    사용법 : rsync -avzurt --exclude-from='[전송 제외 항목]' [서버 IP]::[rsync 서비스] [저장경로]

     

    # cat /backup/exclude_txt
    
    session
    data

     

    # rsync -avzurt --exclude-from='/backup/exclude_txt' 192.168.10.5::web /backup/web

     

    세션파일과 같은 백업을 하지 않아도 되는 불필요한 파일을 제외하여 백업을 지정할 수 있습니다

     

    Posted by 서버이야기