> 시스템 튜토리얼 > 리눅스 > Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법

Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법

William Shakespeare
풀어 주다: 2025-03-21 09:12:14
원래의
589명이 탐색했습니다.

RSYNC : 로컬 및 원격 디렉토리 동기화를위한 강력한 도구

RSYNC는 디렉토리 동기화를위한 강력하고 다재다능한 유틸리티이며 수정 된 파일 부분 만 효율적으로 전송합니다. 따라서 두 시스템 사이에 있거나 단일 시스템에서 자주 업데이트되는 파일로 대규모 디렉토리를 관리하는 데 이상적입니다. SSH 통합, 데이터 압축, 파일 속성 보존 (권한 및 타임 스탬프) 및 소스가없는 대상에서 파일을 제거하는 기능과 같은 기능에 의해 유연성이 향상됩니다.

rsync 명령 구조 :

 rsync [옵션] [출처] [대상]
로그인 후 복사

주요 RSYNC 옵션 :

  • -a ( --archive ) : 중요한 파일 메타 데이터를 보존합니다 (상징 링크, 권한, 타임 스탬프).
  • -v ( --verbose ) : 상세한 출력을 제공합니다.
  • -r ( --recursive ) : 디렉토리를 재귀 적으로 프로세스합니다.
  • --delete : 소스에없는 대상에서 파일을 제거합니다. 실제 동기화에 필수적입니다.
  • -z ( --compress ) : 전송 중에 데이터를 압축하여 대역폭을 저장합니다.
  • -h ( --human-readable ) : 파일 크기 및 기타 숫자 데이터를 사용자 친화적 인 형식으로 표시합니다.
  • -P : 결합 --partial (이력서 중단 된 전송) 및 --progress (디스플레이 전송 진행).

동기화 시나리오 및 설정 :

RSYNC는 다양한 작업에 유용합니다. 데이터 백업, 원격 서버로의 백업, 기계 전체의 파일 공유, 프로덕션에 코드 배포, 개발 및 준비 환경 간의 일관성을 유지합니다.

이 안내서의 예를 위해서는 다음을 사용하겠습니다.

로컬 시스템 : Debian 11 데스크탑, 로컬 디렉토리 : ~/local/sync/

원격 시스템 : Debian 12 Server, 원격 사용자 : ostechnix , 원격 IP : 192.168.1.12 , 원격 디렉토리 : ~/remote/sync/

기본 사용 :

rsync 가 설치되고 권한이 올바르게 설정되었다고 가정하면 다음 명령은 로컬 디렉토리를 리모콘에 동기화/동기화합니다.

 rsync -avzp ~/local/sync/ostechnix@192.168.1.12 : ~/remote/sync/
로그인 후 복사

자리 표시자를 실제 경로, IP 주소 및 사용자 이름으로 교체해야합니다.

Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법

Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법

--delete 와의 진정한 동기화 :

위의 명령은 소스를 대상으로 반영합니다. 완전한 동기화 (동일한 컨텐츠)를 보장하려면 --delete 사용하십시오.

 rsync -avzp -delete ~/local/sync/ostechnix@192.168.1.12 : ~/remote/sync/
로그인 후 복사

이것은 소스에없는 대상에서 파일을 제거합니다. 우발적 인 데이터 손실을 피하기 위해 --delete 로주의를 기울이십시오.

Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법

중요한 고려 사항 :

  • 디렉토리 경로 후 후행 슬래시 ( / )가 중요합니다. 그것들을 생략하면 예상치 못한 디렉토리 생성으로 이어질 수 있습니다.
  • 소스 및 대상 디렉토리 모두에 대한 권한을 확인하십시오.
  • 자동화 된 동기화에는 SSH 키 기반 인증이 권장되어 비밀번호 프롬프트가 제거됩니다.

추가 개선 사항 :

  • 키 기반 SSH 인증 : SSH 키 쌍 ( ssh-keygen )을 생성하고 공개 키를 원격 서버 ( ssh-copy-id )에 복사하고 기본 키 경로를 사용하거나 rsync 명령에 개인 키 경로를 명시 적으로 지정합니다.

  • 실시간 동기화 (inotify) : rsync inotifywait ( inotify-tools 패키지에서)와 결합하여 파일 변경시 동기화를 트리거합니다. 샘플 스크립트는 원본 문서에 제공됩니다.

  • cron 으로 스케줄링 : cron 사용하여 동기화를 자동화하여 특정 간격 (예 : 매일, 시간당)으로 실행됩니다. cron 항목의 예는 원본 문서에 제공됩니다.

  • 명시 적 SSH 키 경로 : 일반적으로 기본 키 위치와 관련하여 불필요하지만 스크립트의 개인 키 경로를 명시 적으로 지정하면 더 많은 제어 기능이 제공됩니다.

결론:

RSYNC는 효율적인 파일 동기화를위한 강력한 도구입니다. SSH 키 기반 인증 및 예약 작업과 같은 옵션을 이해하고 모범 사례를 사용하면 신뢰할 수 있고 안전한 데이터 관리가 가능합니다. rsync 명령 --delete 생산 환경에 적용하기 전에 항상 철저히 테스트하십시오.

위 내용은 Linux에서 RSYNC를 사용하여 로컬 및 원격 디렉토리 동기화 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿