본문 바로가기
리눅스

[Rsync] 리눅스 파일 전송 및 동기화

by 알 수 없는 사용자 2023. 8. 2.
반응형

Rsync란


Remote-sync 의 약자로 여러가지 옵션을 이용해 원격 또는 로컬간에 파일이나 디렉토리를 복사하는 툴이다.

옵션목록

  • -v: verbosity를 높이는 옵션으로 복사하는 과정을 더 자세하게 보여줍니다.
  • -z: compress를 주는 옵션으로 파일을 복사할 때 압축해서 복사합니다.
  • -h: 사람이 읽기 쉬운 형태로 복사 결과들을 출력해줍니다.
  • -a (same as -rlptgoD): archive 모드로 -rlptgoD 옵션을 적용한것과 같습니다. 해당 옵션들은 아래서 설명하며 symlink, 권한 그리고 timestamp와 같은 속성들을 그대로 복사합는 옵션입니다.
  • -r: 디렉토리를 복사할 때 사용하는 옵션입니다.
  • -l: symlink는 symlink 형태로 복사하는 옵션입니다.
  • -p: 파일과 디렉토리들의 권한을 유지하는 옵션입니다.
  • -t: 수정시간을 유지하는 옵션입니다.
  • -g: 그룹 속성을 유지하는 옵션입니다.
  • -o: 소유자 속성을 유지하는 옵션입니다.
  • -e: 원격에서 사용할 쉘을 명시하는 옵션입니다.
  • -D (same as --devices --specials): --devices --specials의 옵션과 같습니다.
  • --devices: root 권한이 필요하며 Device 관련된 파일들을 복사해서 생성해줍니다.
  • --specials: named socket이나 fifo와 같은 특수한 파일들도 복사하는 옵션입니다.
  • -P (same as --partial --progress): --partial --progress의 옵션과 같습니다.
  • --partial: rsync는 전송중에 인터럽트가 발생하면 전송하던 파일을 삭제하는게 기본값입니다. 이 옵션을 사용하면 전송된 부분파일을 남기고 다음부분부터 재전송 할 수 있게하여 속도를 빠르게 할 수 있습니다.
  • --progress: 전송시 진행상황을 보여줍니다.

사용방법


Rsync는 옵션을 사용하여 로컬/원격 환경에서 사용이 가능하다.

 rsync [option] [원본] [복사본]

본인이 많이 쓰는 rsync 사용법은 아래와 같다

 rsync -r --backup --suffix=`date +'.%F_%H%H%S_UTC'` /원본 / 복사본

--backup 옵션은 파일의 수정사항이 생겼을때 원본파일을 백업하고 새로운 파일로 동기화 하는 방식이며 --suffix를 통해 구버전의 파일을 저장하는 형태를 지정할 수 있다.

위의 명령어를 예시로 test.sh 를 rsync 할 때 변동사항이 있을 경우 test.sh.2023-01-01_100001_UTC로 기존파일이 저장되고 test.sh가 새로 동기화 된다.

반응형