만자의 개발일지

[Linux] rsync 설치 및 사용 방법 본문

Linux

[Linux] rsync 설치 및 사용 방법

박만자 2021. 11. 8. 21:19

rsync (remote synchronization)

rsync란 파일이나 디렉토리를 로컬 시스템 또는 다른 네트워크상의 시스템 사이에 복사하기 위한 유틸리티입니다. rsync는 기본적으로  ssh를 이용해 파일을 전송하고, ssh와 같은 인증 메커니즘을 사용하므로, ssh와 같은 보안을 제공합니다.
**유틸리티(utility)란 운영체제에서 제공되는 것 외에 부가적인 기능을 제공하는 작은 소프트웨어입니다.**

 

rsync 설치 확인

# rpm -qa | grep rsync

위 명령어를 통해 rsync가 설치되있는지 확인할 수 있습니다.

 

rsync 설치

# yum install -y rsync

만약  rsync가 안깔려있다면 위 명령어를 통해 설치해줍니다.

 

rsync 설정 파일

# vi /etc/rsyncd.conf

위 명령어를 통해 rsync의 환경설정을 설정해 줄 수 있다.

 

 

rsync 사용 방법

rsync 사용 방법은 man 명령어 혹은 --help 옵션을 통해 보실 수 있습니다.

 rsync [OPTION...] [SOURCE...] [DESTINATION]

rsync 옵션

sos los description
-a --archive 자주 사용하는 옵션을 묶어놓은 옵션입니다. (-rlptgoD)
-r --recursive 디렉토리의 하위 디렉토리까지 복사합니다.
-l --links 심볼릭 링크를 유지화하면서 동기화합니다.
-p --perms 퍼미션 정보를 유지화하면서 동기화합니다.
-t --times 타임스탬프를 유지하면서 동기화합니다.
-g --group 그룹 소유권을 보존합니다.
-o --owner 소유권을 보존합니다.
-D   디바이스 파일을 보존합니다.
-h   사람이 읽기 편한 결과로 출력합니다.
-v --verbose 동기화 시 상세 정보를 표시합니다.
-z   데이터 파일을 압축합니다.

예시를 위해 우선 디렉토리와 파일 부터 만들어봅시다.

# mkdir dir1 dir2
# touch dir1/test{1..10}

이렇게 하면 dir1 dir2 이라는 디렉토리 두 개가 생성되고, dir1 디렉토리 안에는 test1~10까지 파일이 생성되었을 겁니다.

# rsync -a dir1/ dir2

dir1디렉토리안에있는 모든 파일을 dir2로 복사하겠다는 뜻입니다.

ls 명령어를 통해 확인해 보시면 dir1안에있는 모든파일이 복사된 것을 확인하실 수 있습니다.

 

rsync는 디렉토리를 통째로 복사할 수 있지만 또한 부분복사도 가능합니다.

# rm -f dir2/test10

dir2안에있는 파일 하나를 삭제하고

# rsync -av dir1/ dir2

위 명령어를 입력해보면 (-v는 더 자세한 내용을 출력합니다)  아마 결과로 test10만 복사 되었다고 뜨실 겁니다.

 

이처럼 rsync는 전송할 대상이 있을때(파일이 변경되거나 추가되었을때)만 전송을 하기때문에 매우 효율적으로 사용할 수 있습니다.

 

참고

'Linux' 카테고리의 다른 글

[Linux] restart, reload,graceful 차이  (0) 2022.01.04
[Linux] 파일 압축 및 압축 해제(tar, gzip)  (0) 2021.11.12
[Linux] DNS서버 설정 파일  (0) 2021.11.08
[Linux] 웹 서버 로그 확인하는 법  (0) 2021.11.08
[Linux] DirectoryIndex  (0) 2021.11.05
Comments