Linux rsync 명령어 완전 정복: 종합 가이드

소개

rsync 명령어 은(는) Linux에서 파일과 디렉터리를 동기화하고 전송하기 위한 가장 강력하고 다재다능한 도구 중 하나입니다. 데이터를 백업하거나, 파일을 미러링하거나, 시스템 간(로컬 또는 원격)에 데이터를 전송해야 하는 경우 등 어떤 경우에도 rsync는 효율적인 파일 관리를 위한 필수 유틸리티입니다.

이 가이드에서는 rsync의 기본 사항, 구문, 일반적인 사용 사례, 그리고 기능을 최대한 활용하기 위한 팁을 살펴봅니다.


rsync란?

Rsync(Remote Sync)은 다음을 위해 설계된 Linux 명령줄 유틸리티입니다:

  • 효율적인 파일 전송: 델타 인코딩을 사용하여 파일의 변경된 부분만 전송합니다.
  • 백업 및 동기화: 백업을 유지하고 디렉터리를 미러링하는 데 이상적입니다.
  • 로컬 및 원격 전송: SSH를 통해 원활하게 동작하여 안전한 원격 작업을 수행합니다.

rsync 사용 방법

기본 구문

rsync의 일반적인 구문은 다음과 같습니다:

rsync [options] source destination

사용 사례 예시

1. 로컬 디렉터리를 원격 서버로 복사하기

rsync -av /local/dir/ user@remote:/remote/dir/

사용된 옵션:

  • -a: 아카이브 모드(심볼릭 링크, 권한, 타임스탬프 등을 보존합니다).
  • -v: 전송 중 자세한 정보를 제공하는 상세 출력.

2. 원격 서버에서 로컬로 파일 동기화하기

rsync -azP user@remote:/remote/dir/ /local/dir/

사용된 옵션:

  • -z: 더 빠른 속도를 위해 전송 중 파일 데이터를 압축합니다.
  • -P: 전송 중 진행 상황을 표시하고 중단된 전송을 재개할 수 있게 합니다.

3. 특정 파일 형식을 제외하면서 파일 백업하기

rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/

--exclude 옵션은 지정된 패턴과 일치하는 파일을 건너뜁니다(예: .tmp 파일).

4. 원본에 더 이상 존재하지 않는 파일을 대상에서 삭제하기

rsync -av --delete /source/dir/ /destination/dir/

경고: --delete 를 사용할 때는 실수로 데이터가 손실되지 않도록 경로를 항상 다시 확인하세요.


rsync 사용의 이점

1. 효율적인 전송

rsync는 파일의 변경된 부분만 전송하므로 대역폭과 시간을 절약합니다.

2. 다재다능함

로컬 및 원격 전송을 원활하게 처리하므로 백업, 마이그레이션, 동기화에 이상적입니다.

3. 안정성

재개 가능한 파일 전송을 지원하므로 중단된 작업을 처음부터 다시 시작하지 않고 재개할 수 있습니다.

4. 보안

SSH와 통합되어 원격 연결을 통한 안전한 데이터 전송을 제공합니다.

5. 사용자 지정 가능

파일 제외, 대역폭 제한 설정 등 다양한 옵션을 제공합니다.

6. 크로스 플랫폼 호환성

Linux, Unix, 심지어 Windows(Cygwin이나 WSL 같은 도구를 통해)에서도 동작합니다.


보너스 팁: 드라이 런 모드를 사용하세요!

잠재적으로 파괴적인 rsync 명령(예: --delete 사용)을 실행하기 전에 --dry-run 플래그를 사용하여 작업을 시뮬레이션하세요:

rsync -av --delete --dry-run /source/dir/ /destination/dir/

이렇게 하면 변경 사항을 적용하기 전에 검토할 수 있어 실수로 데이터가 손실되는 것을 방지할 수 있습니다.


참고 자료

자세한 내용은 공식 문서를 확인하세요:

댓글 남기기