데몬 모드에서 rsync 서버에 필요한 것

데몬 모드에서 rsync 서버에 필요한 것

데몬 모드에서 rsync 서버의 필요성을 이해하지 못합니다. SSH 또는 텔넷으로 rsync를 사용할 수 있다면 어떤 이점이 있습니까?

답변1

여러 가지가 있지만 바로 몇 가지만 인용하겠습니다.

  1. 원격 서버에서 ssh/rsh를 사용할 수 없거나 구성이나 더 엄격한 네트워크 규칙이 손상되면 어떻게 되나요? rsh/ssh를 사용하려면 여전히 클라이언트가 필요하지만(발신자 또는 수신자 역할에 따라) 원격 측에서는 rsync 바이너리를 로컬로 포크하고 로컬에서 실행되는 rsync 프로세스에 대한 연결을 설정해야 합니다. rsh/ssh는 연결 터널링만 제공합니다. rsync의 경우 rsync는 파이프를 통해 다른 rsync 프로세스와 통신합니다.

  2. 데몬 모드 rsync 프로세스를 사용하면 서버가 rsync 모듈을 통해 일부 파일 시스템을 사용할 수 있는 진정한 FTP와 유사한 서버가 됩니다. 다른 모든 것은 피할 수 있습니다. /usr/local 및 /var만 다운로드할 수 있도록 하고 rsync 클라이언트의 다른 다운로드 요청은 거부한다고 가정해 보겠습니다. 호스트 수준이나 파일 시스템(모듈) 수준에서 재량에 따라 업로드 또는 다운로드(읽기 전용)를 허용할 수 있습니다.

  3. 구성 파일을 통해 호스트/사용자 수준 액세스, 인증, 권한 부여, 로깅 및 다운로드/업로드를 구체적으로 제어할 수 있는 파일 시스템(구조) 모듈입니다. 구성 파일이 변경될 때마다 rsyncd --daemon다시 시작하거나 다시 시작할 필요가 없습니다 HUPped. 한 번에 rsync 서버 프로세스에 연결할 수 있는 클라이언트 수를 제어할 수도 있습니다. rsyncd 서버 프로세스가 호스트의 CPU 또는 디스크 기반 I/O 작업을 완전히 소비하는 것을 원하지 않기 때문에 이는 좋습니다.

  4. chroot 기능은 데몬 모드에서 rsyncd 구성을 통해 사용할 수 있습니다. 호스트에서 보호해야 하고 외부 액세스가 없어야 하는 파일/파일 시스템에 대해 클라이언트가 내 rsyncd에 연결하는 것을 방지하려는 경우 이 기능을 매우 깔끔한 보안 기능으로 사용할 수 있습니다.

  5. rsync 클라이언트에서 사용하는 일부 옵션을 완전히 거부할 수 있으며 옵션을 허용하지 않는 것처럼 서버 측에서 처리하지 않을 수도 있습니다 --delete.

  6. rsync 프로세스 전후에 일부 명령/스크립트를 실행하는 옵션이 있습니다. 한 가지 예는 전송 후 모드에서 rsync 통계를 보고하고 저장하는 것입니다.

이것들은 그 중 몇 가지이지만 rsync의 전문 사용자가 이에 대해 더 많이 배울 수 있을 것이라고 확신합니다.

답변2

  1. cygwin을 사용하여 Linux 컴퓨터와 Windows 컴퓨터 간에 큰 폴더를 동기화하는 데 문제가 있습니다. SSH 터널을 버리고 rsync 데몬을 사용한 후 문제가 사라졌습니다.

  2. 클라이언트는 자신이 푸시/풀링하는 서버의 파일 시스템 레이아웃 등을 알 필요가 없습니다.

답변3

rsync의 일반적인 용도는 파일의 공개 아카이브를 미러링하는 것입니다. 마스터 복사본의 운영자는 아카이브에 대한 원격 셸 액세스를 허용하지 않지만 원격 미러를 실행하는 자원 봉사자가 아카이브의 전체 복사본을 효율적으로 얻을 수 있기를 원합니다. Rsync는 변경된 비트만 다운로드하고 사소한 네트워크 중단이 발생한 경우 전체 대용량 파일(CD/DVD 이미지)을 다시 다운로드하지 않기 때문에 이미지 생성에 매우 효과적입니다.

현재 Bit Torrent 프로토콜이 실제로 더 나은 선택일 수 있지만 rsync는 수년 전에 출시되었습니다.

지금도 많은 주요 아카이브에서는 여전히 미러링을 위해 rsync를 사용합니다.

바라보다:http://www.debian.org/mirror/ftpmirror

권장되는 미러링 프로토콜은 rsync입니다.

답변4

외부 네트워크에 rsync 서비스를 제공하고 SSH를 노출하지 않고도 이러한 방식으로 동기화를 허용할 수 있습니다.

데몬 모드에서 rsync는 로컬 체크섬을 더 빠르게 계산할 수 있으므로 여러 병렬 클라이언트가 필요한 경우 더 나은 제품군입니다. 독립 실행형 명령을 사용하는 경우 각 세션마다 체크섬을 다시 계산해야 합니다.

관련 정보