11.Nas_1


새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사


Rsync 란 ? 복사 백업 tool 사용방법

♨ 카랜더 일정 : 2021년10월21일
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    Rsync 란 ? 복사 백업 tool  사용방법

    Rsync(Remoe Sync)는 원격에 있는 파일과 디렉토리를 복사하고 동기화 하기 위해서 사용하는 툴이며 동시에 네트워크 프로토콜이다. 리눅스와 유닉스에서는 백업용도로 (아마도)가장 널리 사용하는 툴일 것이다(윈도우와 애플에도 포팅됐다). Rsync는 CLI툴로, 커맨드 라인의 옵션들을 이용해서 배치 프로그램을 개발하기 쉬다는 장점이 있다. 이 스크립트를 cron 등에 올리는 걸로 간단하게 백업 혹은 미러(mirror) 시스템을 구축할 수 있다.
    Rsync의 기능상 장점들
    1) 원격 시스템으로 부터 파일을 효율적으로 복사하거나 동기화 할 수 있다.
    2) Link, device, 파일의 소유자와 그룹 권한(permissions)등 파일의 부가정보도 복사할 수 있다.
    3) scp보다 빠르다. rsync는 remote-update 프로토콜을 이용해서 차이가 있는 파일만 복사한다. 처음에는 모든 파일과 디렉토리를 복사하겠지만, 다음부터는 차이가 있는 파일만 복사하기 때문에 더 빠르고 효율적으로 작동한다.
    4) 데이터를 압축해서 송/수신하기 때문에 더 적은 대역폭을 사용한다.
    Rsync의 동기화 알고리즘
    파일 전송 결정
    기본적으로 rsync는 파일의 크기와 수정 시간(modification)을 비교하는 것으로 파일을 전송할지 말지를 결정한다. 이 방법은 아주 작은 CPU 자원을 소모하지만 실수가 발생할 수 있다. 일반적으로 파일의 내용을 변경하면 크기와 수정시간이 변하지만 항상 그렇다고 단정할 수는 없기 때문이다.
    --checksum 옵션을 이용하면 비교 방법을 개선할 수 있다. 이 옵션을 켜면, 파일의 checksum을 비교한다. 크기/시간을 이용한 비교 방법보다 안전하지만 더 느리고 더 많은 자원을 사용한다.
    전송할 파일 부분의 결정
    파일 전송을 결정했다고 가정해보자. 파일을 전송하기 위한 간단한 방법은 "전체 파일을 그대로 복사"해버리는 거다. 쉬운 방법이긴 한데, (특히 파일의 크기가 클 경우) 효율적이지는 않다. 1G 크기의 파일이 있다고 가정해보자. 여기에서 바뀐 부분이 1k 라고 할 때, 1k 때문에 1G를 복사하게 될거다.
    Rsync는 파일의 변경된 부분만 효과적으로 복사하기 위한 알고리즘을 가지고 있다.
    Rsync는 파일을 고정 크기를 가지는 청크(chunk)로 나눈다음에 checksum을 계산한다. 이 checksum을 서로 계산해서, 다를 경우 해당 부분의 청크만을 복사한다.
    만약 파일의 앞 부분의 정보가 수정돼서 정보들이 밀린다면 모든 청크의 checksum이 어긋날 것이다. 이 문제를 피하기 위해서 "Rolling hash"를 사용한다.
    기본 사용법
    rsync options source destination
    모든 배포판에서 패키지 형태로 제공한다.
    CentOS는 yum, Ubuntu는 apt-get으로 설치
    yum install rsync
     or
    apt-get install rsync
    옵션값 ;
    -v : 진행 상황을 상세하게 보여줌
    -r : 지정한 디렉토리의 하위 디렉토리까지 재귀적으로 실행
    -l : 소프트 링크 보존
    -H : 하드 링크 보존
    -p : 버전 속성 보존
    -o : 소유 속성 보존(루트)
    -g : 그룹 속성 보존
    -t : 타임스탬프 보존
    -D : 디바이스 파일 보존(루트)
    -z : 데이터 압축 전송
    -b : 낡은 파일은 ~가 붙음
    -u : 추가된 파일만 전송 새 파일은 갱신하지 않음
    --existing : 추가된 파일은 전송하지 않고 갱신된 파일만 전송
    --delete : 서버에 없는 파일은 클라이언트에서도 삭제
    -a : 아카이브 모드. rlptgoD를 자동 지정
    -c : 서버와 클라이언트의 파일 크기를 세밀히 체크
    --stats : 결과를 보고
    -e ssh(rsh) : 전송 암호화
    주로 사용 옵션
    rsync -avgoh 원본 대상
    ex ) rsync -avgoh 원본 100.100.100.100:/usr/local/src
    ex ) rsync -auvhg mysql root@1.234.51.196:/home/

    출처: https://skibis.tistory.com/16 [Skibi's Notepad]
    ====================================
    2016. 10. 13. 17:31
    rsync 디렉토리 복사 및 동기화
    Linux
    rsync [-v] [-q] [-a] [-r] [-b] [-u] [-l] [-p] [-o] [-g] [-D] [-t] [-n] [-e=Command] [–del|–delete] [-z] [–exclude] [–stats] [–progress] Source [[USER@]HOST:]DIST  


    rsync -avzt --exclude=.git --exclude=.repo --exclude=.gitignore ~/git/org_src/ ~/target_src

    -v : verbose 
    -a : archive mode 
    -t : preserve times 원본 파일 시간유지
    -z : compress file data during the transfer 전송시 파일 압축
    --exclude=PATTERN : exclude files matching PATTERN 패턴과 일차하는 파일을 제외하고 복사

    Rsync의 몇가지 추가기능은 아래와 같습니다.
    심볼릭링크, 디바이스, 소유자, 그룹 그리고 퍼미션의 복사를 지원
    GNU tar와 비슷한 exclude와 exclude-from 옵션을 제공
    CVS exclude모드 – CVS에서 무시하는 파일들을 무시함.
    어떠한 리모트 전송쉘이라도 사용가능, rsh, ssh포함
    루트권한이 없어도 됨.
    파일전송에 파이프라인을 사용하여 레이턴시 비용을 최소화.
    익명사용자 혹은 rsync서버인증 지원 (미러링에 최적임)
    위와같은 기능을 가지고 있기에, 디렉토리의 백업이나 서버간 파일을 최신파일로 동기화 할때 사용하면 편리합니다.
    구문

    rsync [-v] [-q] [-a] [-r] [-b] [-u] [-l] [-p] [-o] [-g] [-D] [-t] [-n] [-e=Command] [–del|–delete] [-z] [–exclude] [–stats] [–progress] Source [[USER@]HOST:]DIST 
    rsync –version
    rsync -h | –help

    옵션
    -v | –verbose 동기화시 상세정보를 표시함. 해당 옵션은 3개까지 설정가능. 2,3개동시에 설정하면, 더욱 상세한 정보를 표시함
    -q | –quiet 동기화 정보를 표시하지 않음. cron등에 의한 배치처리등에서 사용함.
    -c | –checksum 전송전에 128비트 MD4의 체크섬을 사용하여, 송신서버의 모든 파일의 체크섬을 만든다. 그 체크섬은 수신서버에서 확인함. 그리고 송신서버와 같은 체크섬, 같은 사이즈, 같은 이름인 파일은 스킵. 해당 옵션을 사용하면 매우 느려짐.
    -a | –archive 아카이브 모드로 실행함. [-rlptgoD]옵션을 지정하면 같은 동작을 하나, 해당 옵션 하나로 대부분의 디렉토리, 파일의 정보를 유지하며 동기화가 가능하므로 편리함.
    -r | –recursive 재귀적으로 디렉토리를 카피함. 해당 옵션을 지정하지 않으면, rsync명령어로는 디렉토리를 동기화 하지 않음.
    -b | –backup 동기화할 디렉토리에 이미 파일이 존재하는 경우, 동기화할 디렉토리에 백업. 이 경우 디폴트로 [~]이 붙는다.
    -u | –update 동기화할 디렉토리에 원본소스보다 최신인 파일이 있을경우, 해당 파일은 동기화하지 않음.
    –inplace 데이터를 업데이트 해야하는경우, rsync가 파일을 전송하는 방법을 변경한다. 디폴트로는 새로운 복사본을 만들어서 전송하는데, 해당 옵션을 설정하면 동기화 대상 파일에 rsync가 직접 업데이트된 데이터를 쓴다.

    이 명령어는 몇가지 영향 끼치는 것이 있다.
    1) 바이너리 파일에 사용하면 업데이트 되지 않음.
    2) 파일 전송중에는 해당파일은 불일치 상태가 됨.
    3) 파일 전송중 실패 혹은 중단이 되면, 해당 파일은 불일치 상태로 남겨짐.
    4) 해당파일에 쓰기권한이 없으면 업데이트되지 않음. 그리고
    5) rsync의 델타-전송 알고리즘의 효능이 떨어짐.
    주의! : 다른 곳에서 해당파일에 접근한다면 사용하지말라, 그리고 복사용으로 사용할경우는 충분히 주의를 기울여서 사용하라.
    해당옵션은 큰파일의 블록단위 변화나 데이터의 추가, 그리고 시스템 디스크의 용량이 제한된 상황에서는 유용하다. (네트워크 트래픽 제한은 관계없다.)
    또한 해당 옵션은 –partial을 적용시킨다. (전송중 실패한경우 파일을 삭제하지 않기위해서), 그러나 –partial-dir 과 –delay-updates와 같이 사용하면 충돌(conflict)이 일어날 것이다.

    rsync 2.6.4에서 –inplace는 –compare-dest, –link-dest와 같이 사용하는건 적절하지 않다.
    -l | –links 동기화할 서버에 심볼릭 링크를 작성함. 해당옵션을 지정하지 않을경우에는 심볼릭 링크 파일은 동기화하지 않음
    -p | –perms 퍼미션 정보를 유지하면서 동기화를 함.
    -o | –owner 소유자 정보를 유지하면서 동기화를 함. root권한을 가진 유저만 실행가능.
    -g |–group 그룹 정보를 유지하면서 동기화를함.
    -D | –devices 동기화할 디바이스를 재작성함. root권한을 가진 유저만이 실행가능.
    -t | –times 파일의 타임 스탬프를 유지하면서 파일을 동기화함. 해당옵션을 지정하지 않는경우는, 모든 파일에 대해 비교 작업을 실행함.
    -n | –dry-run 실제로 동기화를 실행하지는 않고, 동기화 하게될 때의 동작을 표시해줌
    -e | –rsh=커맨드 rsync커맨드로 사용할 리모트 쉘 프로그램(ssh같은거)를 지정함. 디폴트로는 rsh를 사용
    –del|–delete 동기화 소스에 없는 파일이 동기화할 곳에 있는 경우, 그 파일을 삭제함.
    –partial 부분적으로 전송된 파일을 유지시킴
    –partial-dir=DIR 부분적으로 전송된 파일을 지정한 DIR에 둠.
    –delay-updates 업데이트할 파일들을 가장마지막에 둠.
    -z | –compress 동기파일을 압축함.
    –exclude=패턴 지정한 패턴에 일치하는 파일을 동기대상에서 제외시킴.
    –exclude-from=FILE 파일에 기술된 패턴과 일치하는 파일을 제외.
    –deamon rsync를 데몬 모드로 실행함.
    –config=FILE 별도의 rsyncd.conf파일을 지정
    –stats rsync알고리즘의 송신효율을 표시함.
    -h | –human-readable 결과의 수치들을 사람이 읽기편한 포맷으로 출력
    –progress 전송의 진행 상황을 표시
    -P –partial –progress 와 동일
    -i | –itemize-changes 모든 업데이트에 대한 요약을 출력
    –log-file=FILE 무슨 작업을 했는지에 대한 상세로그를 파일로 남김
    동기화 소스 디렉토리 동기화 소스 디렉토리를 지정함.
    [[유저명@]호스트명:]동기화할디렉토리 동기화할 서버와 디렉토리를 지정함. 리모트 호스트를 (동기화)타겟으로 할 경우는, 반드시 호스트와 유저명을 같이 지정해야한다.
    –version 커맨드의 버전을 표시함.
    –help 커맨드의 도움말을 표시함.

    사용법
    rsync [OPTION]... SRC [SRC]... DEST
    rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
    rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
    rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
    rsync [OPTION]... [USER@]HOST:SRC [DEST]
    rsync [OPTION]... [USER@]HOST::SRC [DEST]
    rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

    리모트쉘을 사용하는 경우는 ‘:’을 사용하고, rsync 데몬에 접속하는 경우는 ‘::’이나 ‘rsync://’을 사용한다.
    SRC또는 DEST는 모듈명으로 시작해야한다.


    동일 호스트내에서 백업하기
    rsync -a SRC DIST
    rsync -av /home/user/html/ /home/user/backup/

    리모트 호스트에 백업하기
    rsync -a SRC 유저명@호스트명:DIST디렉토리
    rsync -av -e ssh /home/user/html/ www@remotehost.com:/home/user/backup/
    rsync -av -e ssh /home/user/html/ www@remotehost.com:/home/user/backup/

    참고 URL
    http://ftp.wayne.edu/rsync/rsync.html
    http://itpro.nikkeibp.co.jp/article/COLUMN/20070822/280151/
    http://www.infoscience.co.jp/technical/rsync/rsync.html

    참고
    rsync -help
    Rsync를 처음 만든사람의 논문
    http://www.samba.org/~tridge/phd_thesis.pdf
    출처: https://cyantai.tistory.com/40 [GET CODE]
    ==============

    [시놀로지 백업 방법]
    1)volume1에서 2로 복사
    2)volume1에서 usb로 복사
    작업 스케쥴러 작업 등록

    [시놀로지 백업 작업]
    rsync -av /volume1/web /volume2/NetBackup/backup/vol1


    [시놀로지 백업 방법 Test]
    putty 로 접속 
    sudo -i
    rsync -av /volume1/web /volume2/NetBackup/backup/vol1


    3232235521_1615532104.8382.png

    3232235521_1615532641.781.png

    정상 파일 생성중

    3232235521_1615532142.0193.png

    디랙토리와 같이 복사 진행중

    3232235521_1615532192.9713.png


    3232235521_1615532274.525.png


    [시놀로지 백업 작업스케쥴러에등록]

    rsync -av /volume1/web /volume2/NetBackup/backup/vol1
    3232235521_1615532347.5568.png
    3232235521_1615532510.755.png
    rsync 로 다른 서버에 복사 하는 백업
    조건 설정 >
    상대방 포트및 계정등록 >
    포트 22번 (변경시 않됨/rsync계정 편집)
    rsync -avz /volume1/web/ id@192.168.0.7:/volume2/volume2/backup/old_nas/web/
    주) /에서 /로 동일 폴더명 내용 카피됨
    3232235521_1634649743.3489.png
     
     rsync -avz /volume1/web/ id@192.168.0.7:/volume2/volume2/backup/old_nas/web/

    3232235521_1634649937.145.png


    rsync 백업 진행

    -u : 추가된 파일만 전송 새 파일은 갱신하지 않음
    -h | –human-readable 결과의 수치들을 사람이 읽기편한 포맷으로 출력
    -–progress  진행율 표시
    chmod 777 -R web
    rsync -avzuh --progress /volume1/web/ dsm_id@192.168.0.7:/volume2/volume2/backup/old_nas/web/

    .3232235521_1634656007.5181.png

    ============ 20211019 =====================

     

    ■ ▶ ☞ 정보찾아 공유 드리며 출처는 링크 참조 바랍니다 ♠ . ☞ 본자료는 https://11q.kr 에 등록 된 자료 입니다♠.
    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    등록된 댓글이 없습니다.

    목록

    새창 작성 수정 목록 링크 Edit G카랜다 HDD HDD HDD 게시물 주소 복사




    Total 1,674 / 8 Page
    [ CoreELEC/OpenELEC 설치후 pttty로 ssh 연결 기본 리눅스 실행 유용한 터미널 명령정보 ]

    CoreELEC/OpenELEC 설치후 pttty로 ssh 연결 기본 리눅스 실행 유용한 터미널 명령정보아래 내용은OpenELEC 기준으로 co…

    [ vsc 에디터 파일비교 화면분할 방식 notepad형식 ] 댓글 1

    ■Visual Studio Code 버전 1.27.2가 있으며이를 수행 할 수 있습니다.두 파일 비교두 파일을 Visual Studio Code…

    [ termux를 설치하여 debian 설치후 s***2 설치 테스트 ]

    termux를 설치하여 debian 설치후 s...a2 설치 테스트기종 : gt-king proscrcpy-win64-v1.14 설치 미러링으로…

    [ gt-king gt-king pro [ROM] Spartan_ROM ATV S922X ] 댓글 1

    [ROM] Spartan_ROM ATV S922X2020 년 5 월 11 일 16:50SPARTAN ROM V5 ATVV5 변경 로그-최신 Be…

    [ Hyper-V : VM의 Android ISO 설치작업 ]

    Hyper-V : VM의 Android ISO 설치작업11q.kr작업 기준으로 작업파일 준비기본 설정 하였습니다이제 setting 진행ISO 파…

    [ 시놀로지 DSM Version: 6.2.3-25426 Update 3 에서 PHP.INI 수정 홈페이지 첨부… ] 댓글 1

    시놀로지 DSM Version: 6.2.3-25426 Update 3 에서 PHP.INI 수정 홈페이지 첨부 용량 수정 확장 하기사용버전 DSM…

    [ 안드로이 장비에 termux로 epg2xml의 TV채널 방송정보 xmltv.xml 만들기 작업 ] 댓글 3

    안드로이 장비에 termux로 epg2xml의 TV채널 방송정보 xmltv.xml 만들기 작업TV 실시간 방송채널 정보 epg2xml 의 xml…

    [ 가장 쉬운 TCP port 포트가 열려 있는지 또는 닫혀 있는지 어떻게 알 수 있는 방법 ]

    TCP 포트가 열려 있는지 또는 닫혀 있는지 어떻게 알 수 있습니까?1) 가장 쉬운 방법은https://www.yougetsignal.com/t…

    [ ● Synology NAS SSH 접속시 한글 파일 제대로 표시하기 및 파일 인코딩 변환 / txz 파일 … ]

    ●Synology NAS SSH 접속시 한글 파일 제대로 표시하기 및 txz 파일 압축 해제.-시놀로지 설치 작업 장비 확인 방법 :root@h…

    [ ● ESxi VM Redpill 1008일자 부트로더 변경 부팅 부분과 HDD연결 문제 SataPortMap… ] 댓글 6

    ● ESxi VM Redpill 1008일자 부트로더 변경 부팅 부분과 HDD연결 문제SataPortMap=6 ( 온보드 6개 단자 )< …

    [ ● ESxi로 윈도우11-64bit를 VM 생성 원격 실행 사례 설정값 ]

    ●ESxi로 윈도우11-64bit를 VM 생성 원격 실행 사례 설정값▶윈도우11-64bit설정 값- 하드 디스크는 40G정도 > SCSI …

    [ ● esxi 호스트의 시간 수동 설정 ntp 시간및 날짜 시계 에러 대응 ]

    ●esxi 호스트의 시간 수동설정 ntp 시간및 날짜 시계 에러 대응https://11q.kr/www/bbs/board.php?bo_table=…

    [ ● plex 영상 원본품질 재생으로 로컬에서 영상을 원본으로 시청하기 ] 댓글 1

    ●plex 영상 원본품질 재생으로로컬에서 영상을 원본으로 시청하기설치 : pc 및 시놀로지nas 설치시청 : plex web에서 실행 확인후 주…

    [ ● 나의 synoinfo.conf 설정 값 확인하여 설정값 변경 작업 준비 ] 댓글 5

    ● 나의 synoinfo.conf 설정 값 확인하여 설정값 변경 작업 준비현재 변경 없이 나의 구성어렵네요변경내용 grub.cfg 변경만으로 무…

    [ ★ 부트로더 강력추천 v045_v3 )헤놀로지 RedPill tinyCore 만능부트로더 xpenology … ] 댓글 8

    ★★★ 부트로더 강력추천 v045_v3 )헤놀로지 RedPill tinyCore 만능부트로더 xpenology dsm7.0.1적용 간단 빌드ht…

    [ ● Esxi server veeam 백업 프로그램 다운로드 방법 ]

    ● Esxi server veeam 백업 프로그램 다운로드 방법 헤놀로지 설치 가동에 VMDK 백업으로 작업 진행 합니다1.Esxi server…


    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-06-18 22:37:37

    오늘의 홈 현황


    • 현재 접속자♨ 664 명
    • 오늘 가입자※ 5 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 21 명
    • 오늘 방문자 1,822 명
    • 어제 방문자 1,772 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,385,234 명
    • 전체 게시물※ 8,644 개
    • 전체 댓글수※ 24,752 개
    • 전체 회원수 11,060 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑