rsync에 동기화해야 하는 큰 파일 목록을 어떻게 지정합니까?

rsync에 동기화해야 하는 큰 파일 목록을 어떻게 지정합니까?

rsync와 동기화해야 하는 파일 및 대상 목록이 있지만 이를 위해 rsync를 여러 번 실행하고 싶지 않습니다(제 경우에는 ssh 사용으로 인해 연결 시간이 깁니다).

예:

   ~/aaa    remote:/~/aaa
   ~/bbb    remote:/~/otherplace/bbb

상상할 수 있듯이 목록이 더 크고 제 경우에는 여러 원격 서버에서 동일한 세트를 실행해야 합니다.

이것을 어떻게 쉽게 구현할 수 있습니까? rsync가 서버당 한 번씩 시작되기를 원합니다.

답변1

특정 폴더로만 전송되는 기존 rsync 스크립트에 이 동작을 적용하고 싶을 때 이 문제를 빠르게 수정했습니다. 양쪽에서 이 목적을 위한 심볼릭 링크 카탈로그를 만들고 rsync에게 -L전송 중에 링크( ) 를 역참조하도록 지시했습니다. . 내 쪽에서는 링크가 해당 내용으로 역참조되어 원격 측의 디렉터리로 전송되었으며, 거기서 링크는 내가 원하는 디렉터리를 가리키는 심볼릭 링크에 배치되었습니다.

이는 실제로 백업할 파일을 지정하는 최악의 방법은 아닙니다. 다재다능하고 구성 파일을 변경하지 않고도 쉽게 사용자 정의할 수 있습니다(음, 심볼릭 링크의 구조).~이다어떤 방식으로든 구성 파일).

이 특정 예는 원하는 경우 좋은 솔루션이 아닙니다.~ 아니다하지만 특정 경우에는 전송을 위해 링크를 역참조합니다.

답변2

ssh가 문제인 경우 ssh 연결을 재사용하여 작업 속도를 높일 수 있습니다. 이를 ~/.ssh/config 또는 기타 관련 ssh 구성 파일에 넣으세요.

Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p

관련 정보