rsync ke beberapa server jarak jauh

10

Saya punya file yang ingin saya kirim ke beberapa server terpisah. Apakah mungkin menyebutkan beberapa tujuan?

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

Ini memberi saya "Remote arg tak terduga: server1: foo.png

Miati
sumber

Jawaban:

7

Tidak, tidak ada cara rsyncuntuk menentukan beberapa tujuan. Anda harus menjalankan perintah beberapa kali. Jika Anda memiliki banyak target, Anda mungkin ingin mempertimbangkan untuk menggunakan sistem file jaringan sebagai gantinya - itu mungkin lebih cocok untuk masalah Anda.

John Zwinck
sumber
11

Ternyata ada program yang mengizinkan ini, hanya saja bukan program rsync asli. Ini disebut pssh (ssh paralel saya kira)

Salah satu fitur:

"- rsync Paralel (paralel-rsync, hulu menyebutnya prsync), secara efisien menyalin file ke beberapa host secara paralel"
- http://www.ubuntugeek.com/execute-commands-s simultan-on-multiple-servers-using- psshcluster-sshmultixterm.html

Miati
sumber
0

Meskipun Anda menjalankan perintah beberapa kali melalui input file, ini dapat dilakukan dengan menentukan tujuan yang diinginkan dalam satu file yang diinginkan:

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

masukkan deskripsi gambar di sini

Maafkan pengujian saya karena saya hanya memiliki dua sistem yang tersedia pada saat itu, tetapi saya paling yakin ini akan bekerja untuk beberapa sistem yang diinginkan. Itu bukan metode yang paling elegan, tapi itu pasti salah satu cara otomatisasi. Dan tolong, silakan koreksi saya jika ini tidak berhasil karena saya tidak memiliki sumber daya yang tersedia untuk menguji di luar dua sistem pada saat posting ini.

Brandon L
sumber