리눅스 - rsync

김민재·2021년 7월 22일
0

Gotcha Linux!

목록 보기
21/22

rsync


싱크는 어떤 특정 컴퓨터에 있는 내용을 다른 컴퓨터로 올려 서로의 변경 사항이 이쪽에 반영되어 같은 상태를 유지하는 것을 의미한다. 싱크는 방향성을 가지고 있다.

싱크 앞에 붙은 r은 리무트, 원격으로 서로 독립되어 있는 곳에 있는 컴퓨터들끼리 인터넷을 통해서 네트워크를 통해서 싱크를 할 수 있게 해주는 그런 프로그램이다.
이 프로그램은 네트워크를 통해서 파일들을 카피 할 때도 쓸 수 있고 또 백업과 같은 중요한
작업을 할 때도 사용할 수 있는 요긴한 기능이다.

r 씽크 디렉토리에 src와 목적지 란 뜻의 dest라는 두개의 디렉터를 만든다.
src 에다가 파일을 만들고 그 파일을 dest에다가 동기화를 시킨다. 쉽게 말해서 복사를 한다는 것이다.


src에 터치를 통해서 테스트 1 test 테스트 10까지 파일을 생성하고 알싱크를 실행을 해서
src 에 제가 방금 생성한 파일들을 dest 동기화를 시킬 땐 rsync 명령어에 -a 옵션을 준다. 그리고 src/ 디렉토리 밑에 있는 모든 파일을 dest에 옮기도록 rsync -a src/ dest라고 적어준다.


그러면 이렇게 파일이 dest 디렉토리로 전송이 된다.

rsync의 장점은 증분 백업, 증분 카피를 한다.

알싱크를 실행 해보면 추가된 파일만 전송이 되고 나머지는 전송되지 않는다. 반복해서 알싱크를 실행을 전송할 대상이 있을 때만 전송을 하기 때문에 굉장히 효율적으로 동작한다.
옵션 -a에 v를 붙여 -av라하면 더 자세하게 내용들이 출력된다.

  • a 가 아카이브로 아카이브 모드로 동작하게 되면 어떤 특정 디렉토리를 지정했을 때 디렉토리 전체를 다 복사하는 모드로 동작하고 변경사항들만 전송하는 모드로도 동작하며 각각의 파일에 파일의 그 권한 같은 속성의 정보까지도 같이 전송하는 굉장히 강력한 기능이 - a이다.

rsync - Remote sync

네트워크를 통해서 동기화 시키는 방법은 전송 받을 컴퓨터의 아이피를 ip addr를 통해 알아내야한다.

rsync -azP, 아카이브에 z를 붙이면 압축하여 전송해 훨씬 데이터를 절약한다는 것이고 P는 전송되는 상황을 바로 보여준다.
그 다음에 전송하고 싶은 파일의 경로를 적고 ~/rsync/src/, 보내려하는 컴퓨터의 id@ip주소: 동기화를 시키고 싶은 디렉토리를 지정하면 된다

특히 백업과 같은 것들을 할 때 알씽크 필수적으로 사용되니 잘 알아두자.

profile
자기 신뢰의 힘을 믿고 실천하는 개발자가 되고자합니다.

0개의 댓글