여러 원격 서버에 rsync

여러 원격 서버에 rsync

여러 개의 개별 서버로 보내고 싶은 파일이 있습니다. 여러 목적지를 지정할 수 있나요?

rsync foo.png server1:foo.png server2:foo.png

이로 인해 "예기치 않은 원격 인수: server1: foo.png"가 표시됩니다.

답변1

이를 허용하는 프로그램이 있는 것으로 밝혀졌지만 원래 rsync 프로그램은 아닙니다. pssh라고 합니다(병렬 SSH인 것 같아요).

기능 중 하나:

"--Parallel-rsync(parallel-rsync, prsync 업스트림이라고 함)는 파일을 여러 호스트에 병렬로 효율적으로 복사합니다."
-http://www.ubuntugeek.com/execute-commands-simultaneously-on-multiple-servers-using-psshcluster-sshmultixterm.html

답변2

아니요, rsync여러 목적지를 지정할 수 없습니다. 이 명령을 여러 번 호출해야 합니다. 대상이 많은 경우 네트워크 파일 시스템 사용을 고려할 수 있습니다. 이는 문제에 더 적합할 수 있습니다.

답변3

파일 입력을 통해 명령을 여러 번 호출하더라도 원하는 파일 하나에 원하는 대상을 지정하면 이 작업을 수행할 수 있습니다.

while read in; do rsync -av /Path/of/Source/Synced.file "$in":/Path/of/Destination/Synced.file; done < destinations.txt

여기에 이미지 설명을 입력하세요.

당시에는 두 개의 시스템만 사용할 수 있었기 때문에 테스트에 대해 양해해 주시기 바랍니다. 하지만 필요에 따라 여러 시스템에서 작동할 것이라고 확신합니다. 나는 이것이 가장 우아한 접근 방식이라고 생각하지 않지만 확실히 자동화하는 방법입니다. 게시 시점에 두 시스템 외에는 테스트할 수 있는 리소스가 없기 때문에 이것이 작동하지 않으면 언제든지 수정해 주시기 바랍니다.

관련 정보