rsync กับเซิร์ฟเวอร์ระยะไกลหลายตัว


10

ฉันมีไฟล์ที่ฉันต้องการส่งไปยังเซิร์ฟเวอร์หลายเครื่อง เป็นไปได้หรือไม่ที่จะตั้งชื่อจุดหมายปลายทางหลายแห่ง?

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

สิ่งนี้ให้ฉัน "ไม่คาดคิดจากระยะไกลหาเรื่อง: server1: foo.png

คำตอบ:


7

ไม่ไม่มีวิธีในrsyncการระบุปลายทางหลายแห่ง คุณจะต้องเรียกใช้คำสั่งหลาย ๆ ครั้ง หากคุณมีเป้าหมายมากมายคุณอาจต้องการพิจารณาใช้ระบบไฟล์เครือข่ายแทน - มันอาจเหมาะสำหรับปัญหาของคุณ


11

ปรากฎว่ามีโปรแกรมที่อนุญาตสิ่งนี้ไม่ใช่โปรแกรม rsync ดั้งเดิม มันเรียกว่า pssh (ขนาน ssh ฉันคิดว่า)

หนึ่งในคุณสมบัติ:

"- ขนาน rsync (ขนาน -sync, upstream เรียกมันว่า prsync), คัดลอกไฟล์ไปยังหลาย ๆ โฮสต์ในขนานได้อย่างมีประสิทธิภาพ"
- http://www.ubuntugeek.com/execute-commands-simพร้อมกัน- บน - หลาย - บริการ - psshcluster-sshmultixterm.html


0

แม้ว่าคุณจะเรียกใช้คำสั่งหลาย ๆ ครั้งผ่านทางอินพุตไฟล์คุณสามารถทำได้โดยระบุปลายทางที่ต้องการในไฟล์ที่ต้องการหนึ่งไฟล์:

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

ป้อนคำอธิบายรูปภาพที่นี่

โปรดแก้ตัวการทดสอบของฉันเนื่องจากฉันมีระบบที่ใช้ได้เพียงสองระบบในเวลานั้น แต่ฉันมั่นใจว่านี่จะใช้ได้กับหลายระบบตามที่ต้องการ ไม่ใช่วิธีที่หรูหราที่สุดที่ฉันคิด แต่เป็นวิธีหนึ่งในการทำให้เป็นอัตโนมัติ และโปรดอย่าลังเลที่จะแก้ไขให้ถูกต้องหากสิ่งนี้ใช้ไม่ได้เนื่องจากฉันไม่มีทรัพยากรสำหรับการทดสอบเกินกว่าสองระบบในเวลาที่ทำการโพสต์นี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.