คำถามติดแท็ก rsync

การสนับสนุน RSYNC ทั่วไปไม่อยู่ในหัวข้อ อาจมีคำถามเกี่ยวกับการสนับสนุนใน https://superuser.com rsync สามารถคัดลอกไฟล์แบบโลคัลผ่านเซอร์วิสเชลล์ระยะไกล ssh หรือ rsh หรือด้วยรีโมต rsync daemon ไฟล์สามารถอัพเดตได้ทีละน้อยและ rsync จัดเตรียมไว้สำหรับการตรวจสอบขนาดไฟล์และการอัพเดตครั้งล่าสุด rsync ทำงานบนระบบ POSIX รวมถึง Linux, BSD, Unix และ Windows (ผ่าน Cygwin)

8
เป็นไปได้หรือไม่ที่จะระบุพอร์ต ssh อื่นเมื่อใช้ rsync
ฉันลองคำสั่งต่อไปนี้แล้ว: rsync -rvz --progress --remove-sent-files ./dir user@host:2222/path SSH กำลังทำงานบนพอร์ต 2222 แต่ rsync ยังคงพยายามใช้พอร์ต 22 แล้วบ่นว่าไม่ได้หาพา ธ สาเหตุที่แน่นอนว่ามันไม่มีอยู่ ฉันต้องการทราบว่าเป็นไปได้หรือไม่ที่จะซิงค์กับโฮสต์ระยะไกลบนพอร์ต ssh ที่ไม่ได้มาตรฐาน
366 ssh  rsync 

2
การคัดลอกไฟล์โดยใช้ rsync จากเซิร์ฟเวอร์ระยะไกลไปยังเครื่องท้องถิ่น
เมื่อฉันได้ ssh ลงในเซิร์ฟเวอร์ระยะไกลของฉันคำสั่งจะคัดลอกไฟล์ทั้งหมดจากไดเรกทอรีไปยังไดเรกทอรีท้องถิ่นบนเครื่องของฉันได้อย่างไร
319 ssh  rsync 

7
"SCP" แตกต่างจาก "rsync" อย่างไร
บทความเกี่ยวกับการตั้งค่าบล็อกผีบอกว่าจะใช้scpเพื่อคัดลอกจากเครื่องท้องถิ่นของฉันไปยังเซิร์ฟเวอร์ระยะไกล: scp -r ghost-0.3 root@*your-server-ip*:~/ อย่างไรก็ตามRailscast 339: Chef Solo Basicsใช้scpเพื่อคัดลอกในทิศทางตรงกันข้าม (จากรีโมตเซิร์ฟเวอร์ไปยังเครื่องโลคอล): scp -r root@178.xxx.xxx.xxx:/var/chef . ใน Railscast เดียวกันเมื่อผู้เขียนต้องการคัดลอกไฟล์ไปยังเซิร์ฟเวอร์ระยะไกล (ทิศทางเดียวกับตัวอย่างแรก) เขาใช้rsync: rsync -r . root@178.xxx.xxx.xxx:/var/chef เหตุใดจึงต้องใช้rsyncคำสั่งหากscpจะคัดลอกทั้งสองทิศทาง? วิธีการที่ไม่scpแตกต่างจากrsync?
241 rsync  scp 

9
ข้อผิดพลาด rsync: ล้มเหลวในการตั้งเวลาใน“ / foo / bar”: ไม่อนุญาตให้ใช้งาน
ฉันได้รับข้อผิดพลาดที่สับสนจาก rsync และสิ่งแรกเริ่มที่ฉันค้นหาจากการค้นหาทางเว็บ (รวมถึง chmod'ing ปกติทั้งหมด) ไม่ได้แก้ไข: rsync: failed to set times on "/foo/bar": Operation not permitted (1) rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9] ดูเหมือนว่าจะทำงานได้แม้จะมีข้อผิดพลาด แต่ก็ดีที่จะกำจัดออก

4
ป้องกัน rsync จากการลบไฟล์ต้นฉบับที่ยังไม่เสร็จ
ฉันมีสองเครื่องความเร็วและมวล ความเร็วมีการเชื่อมต่ออินเทอร์เน็ตที่รวดเร็วและกำลังเรียกใช้โปรแกรมรวบรวมข้อมูลซึ่งดาวน์โหลดไฟล์จำนวนมากลงในดิสก์ มวลมีพื้นที่ดิสก์จำนวนมาก ฉันต้องการย้ายไฟล์จากความเร็วเป็นจำนวนมากหลังจากดาวน์โหลดเสร็จแล้ว เป็นการดีที่ฉันเพิ่งจะเรียกใช้: $ rsync --remove-source-files speed:/var/crawldir . แต่ฉันกังวลว่า rsync จะยกเลิกการลิงก์ไฟล์ต้นฉบับที่ยังดาวน์โหลดไม่เสร็จ (ฉันดูซอร์สโค้ดและฉันไม่เห็นสิ่งใดที่จะป้องกันสิ่งนี้) ข้อเสนอแนะใด ๆ

7
rsync: ฉันจะกำหนดค่าเพื่อสร้างไดเรกทอรีเป้าหมายบนเซิร์ฟเวอร์ได้อย่างไร
ฉันต้องการrsyncจากเครื่องคอมพิวเตอร์ไปยังเซิร์ฟเวอร์ ในไดเรกทอรีที่ไม่มีอยู่และฉันต้องการrsyncสร้างไดเรกทอรีนั้นบนเซิร์ฟเวอร์ก่อน ฉันจะทำสิ่งนั้นได้อย่างไร
144 rsync 

6
คุณใช้ไฟล์ข้อมูลประจำตัวกับ rsync ได้อย่างไร?
คุณใช้ไฟล์ข้อมูลประจำตัวกับ rsync ได้อย่างไร? นี่คือไวยากรณ์ที่ฉันคิดว่าฉันควรใช้กับ rsync เพื่อใช้ไฟล์ข้อมูลประจำตัวเพื่อเชื่อมต่อ: rsync -avz -e 'ssh -p1234 -i ~ / .ssh / 1234- ตัวตน' \ "/ local / dir /" remoteUser@22.33.44.55: "/ remote / dir /" แต่มันทำให้ฉันมีข้อผิดพลาด: คำเตือน: ไฟล์ Identity ~ / .ssh / 1234-identity ไม่สามารถเข้าถึงได้: ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว ไฟล์นั้นใช้ได้สิทธิ์ตั้งค่าอย่างถูกต้องมันใช้งานได้เมื่อทำ ssh - ไม่ใช่กับ rsync - อย่างน้อยก็ในไวยากรณ์ของฉัน ผมทำอะไรผิดหรือเปล่า? พยายามมองหาไฟล์ข้อมูลประจำตัวบนเครื่องระยะไกลหรือไม่ …
125 unix  rsa  rsync  dsa 

4
Rsync คัดลอกเนื้อหาไดเร็กทอรี แต่ไม่ใช่ไดเร็กทอรีเอง
ฉันพยายามซิงโครไนซ์เนื้อหาสองโฟลเดอร์ที่มีชื่อต่างกัน: rsync -av ~/foo user@remote.com:/var/www/bar ฉันต้องการที่จะคัดลอกเนื้อหาของfooเข้าไปbarในพื้นที่ห่างไกล แต่ไม่ไดเรกทอรีfooตัวเอง ฉันได้ลองสิ่งที่ชอบfoo/*แต่ rsync ไม่รองรับ rsync สร้างเสมอ /var/www/bar/foo
121 rsync 

4
f +++++++++ ในบันทึก rsync หมายถึงอะไร
ฉันใช้rsyncเพื่อสำรองไฟล์เซิร์ฟเวอร์ของฉันและฉันมีคำถามสองข้อ: ในระหว่างกระบวนการฉันต้องหยุดและเริ่มrsyncใหม่อีกครั้ง จะrsyncเริ่มจากจุดที่หยุดหรือจะรีสตาร์ทจากจุดเริ่มต้น? "f+++++++++"ในแฟ้มบันทึกที่ฉันเห็น หมายความว่าอย่างไร? เช่น: 2010/12/21 08:28:37 [4537] >f.st...... iddd/logs/website-production-access_log 2010/12/21 08:29:11 [4537] >f.st...... iddd/web/website/production/shared/log/production.log 2010/12/21 08:29:14 [4537] .d..t...... iddd/web/website/production/shared/sessions/ 2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.017a771cc19b18cd 2010/12/21 08:29:14 [4537] >f+++++++++ iddd/web/website/production/shared/sessions/ruby_sess.01eade9d317ca79a
117 backup  logging  rsync 

4
rsync: ความแตกต่างระหว่าง --size-only และ --ignore-times
ฉันพยายามทำความเข้าใจว่าความแตกต่างระหว่างสองตัวเลือกคืออะไร rsync --size-only และ rsync --ignore-times เป็นความเข้าใจของฉันว่าโดยค่าเริ่มต้น rsync จะเปรียบเทียบทั้งการประทับเวลาและขนาดไฟล์เพื่อตัดสินใจว่าควรซิงโครไนซ์ไฟล์หรือไม่ ตัวเลือกด้านบนอนุญาตให้ผู้ใช้มีอิทธิพลต่อพฤติกรรมนี้ ตัวเลือกทั้งสองดูเหมือนอย่างน้อยด้วยวาจาเพื่อผลในสิ่งเดียวกัน: การเปรียบเทียบตามขนาดเท่านั้น ฉันพลาดอะไรบางอย่างที่ละเอียดอ่อนที่นี่?
114 rsync 

13
rsync ไม่รวมตาม. gitignore & .hgignore & svn: ละเว้นเช่น --filter =: C
Rsync มีตัวเลือกที่ดี--cvs-excludeในการ“ ละเว้นไฟล์ในลักษณะเดียวกับ CVS” แต่ CVS ล้าสมัยไปหลายปีแล้ว มีวิธีใดบ้างที่จะทำให้มันยกเว้นไฟล์ที่ระบบควบคุมเวอร์ชันใหม่จะถูกละเลย (Git, Mercurial, Subversion) ตัวอย่างเช่นฉันมีโครงการ Maven จำนวนมากที่ตรวจสอบจาก GitHub โดยทั่วไปแล้วจะมี.gitignoreรายชื่ออย่างน้อยtargetไดเร็กทอรี Maven build เริ่มต้น (ซึ่งอาจอยู่ในระดับบนสุดหรือในโมดูลย่อย) เนื่องจากเนื้อหาของไดเรกทอรีเหล่านี้เป็นแบบใช้แล้วทิ้งทั้งหมดและอาจมีขนาดใหญ่กว่าซอร์สโค้ดได้มากฉันจึงขอยกเว้นเมื่อใช้ rsync ในการสำรองข้อมูล แน่นอนว่าฉันสามารถพูดได้อย่างชัดเจน--exclude=target/แต่จะตั้งใจระงับไดเรกทอรีที่ไม่เกี่ยวข้องซึ่งเพิ่งเกิดขึ้นเพื่อตั้งชื่อtargetและไม่ควรละเลย และฉันจะจัดหารายการที่สมบูรณ์ของเส้นทางที่แน่นอนสำหรับชื่อไฟล์และรูปแบบที่กล่าวถึงในที่ใด ๆ.gitignore, .hgignoreหรือsvn:ignoreสถานที่ให้บริการบนดิสก์ของฉัน แต่นี้จะเป็นรายการใหญ่ที่จะต้องได้รับการผลิตโดยการจัดเรียงของสคริปต์ เนื่องจาก rsync ไม่มีการรองรับการชำระเงิน VCS ในตัวนอกเหนือจาก CVS มีเคล็ดลับที่ดีในการป้อนรูปแบบการละเว้นหรือไม่? หรือระบบโทรกลับบางประเภทโดยสามารถถามสคริปต์ผู้ใช้ว่าควรรวมไฟล์ / ไดเร็กทอรีที่กำหนดไว้หรือไม่? อัปเดต : --filter=':- .gitignore'ตามที่แนะนำโดย LordJavac ดูเหมือนว่าจะทำงานได้ดีสำหรับ Git เช่นเดียว--filter=:Cกับ CVS อย่างน้อยก็ในตัวอย่างที่ฉันพบแม้ว่าจะไม่ชัดเจนว่าไวยากรณ์นั้นตรงกันทุกประการ --filter=':- .hgignore'ไม่ได้ผลดีสำหรับ …
114 git  svn  mercurial  rsync 

6
rsync คัดลอกเฉพาะไฟล์บางประเภทโดยใช้ตัวเลือก include
ฉันใช้สคริปต์ทุบตีต่อไปนี้เพื่อคัดลอกเฉพาะไฟล์ที่มีนามสกุลบางไฟล์ (ในกรณีนี้คือ * .sh) แต่มันก็ยังคงคัดลอกไฟล์ทั้งหมด เป็นอะไรไป? จาก = $ 1 ถึง = $ 2 rsync -zarv --include = "*. sh" $ จาก $ ถึง
114 linux  bash  shell  rsync 


7
วิธีดำเนินการต่อ scp ด้วยไฟล์ที่คัดลอกบางส่วน [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการเมื่อปีที่แล้ว ปรับปรุงคำถามนี้ ฉันใช้คำสั่ง scp shell เพื่อคัดลอกโฟลเดอร์ไฟล์ขนาดใหญ่ แต่ในบางครั้งฉันต้องฆ่าคำสั่งที่กำลังทำงานอยู่ (โดย Ctrl + C หรือ kill) เพื่อความเข้าใจของฉัน scp คัดลอกไฟล์ตามลำดับดังนั้นควรมีไฟล์ที่คัดลอกเพียงบางส่วนเท่านั้น คำสั่ง scp เดียวกันจะกลับมาทำงานต่อได้อย่างไรเพื่อไม่ให้เขียนทับไฟล์ที่คัดลอกสำเร็จและจัดการไฟล์ที่คัดลอกบางส่วนอย่างถูกต้อง ปล. ฉันรู้ว่าฉันสามารถทำสิ่งประเภทนี้ใน rsync ได้ แต่ scp นั้นเร็วกว่าสำหรับฉันด้วยเหตุผลบางประการและฉันใช้มันแทน
109 bash  rsync  scp  resume 

6
ลิงก์สัญลักษณ์และโฟลเดอร์ที่ซิงค์ใน Vagrant
ฉันต้องการใช้ Vagrant เพื่อจัดเตรียมสภาพแวดล้อมการพัฒนาร่วมกันให้กับทีมของฉัน โฮสต์แตกต่างกันอย่างสิ้นเชิง: บางคนใช้ OS X, Linux บางตัวและ Windows บางตัว บางคนใช้ VMware บางคนใช้ VirtualBox ภายใน VM เราต้องการเรียกใช้ Linux จนถึงตอนนี้ทุกอย่างเรียบร้อยดี ตอนนี้ความคิดของเราคือนักพัฒนาแต่ละคนจะสามารถใช้ IDE ที่ต้องการได้และด้วยเหตุนี้เราจึงได้แนะนำโฟลเดอร์ที่ซิงค์ซึ่งแชร์ซอร์สโค้ดระหว่างโฮสต์และ VM โดยพื้นฐานแล้วก็ใช้งานได้เช่นกัน ... ยกเว้นลิงก์สัญลักษณ์ ภายในซอร์สโค้ดของเราเรามีลิงก์สัญลักษณ์บางอย่างซึ่งไม่ใช่ปัญหาภายใน Linux ภายใน VM แต่บน Windows ในฐานะโฮสต์จะทำให้เกิดปัญหา สิ่งเดียวที่เราไม่สามารถทำได้คือกำจัดลิงก์สัญลักษณ์ดังนั้นเราจึงต้องการวิธีอื่นในการจัดการกับสิ่งนี้ จนถึงขณะนี้เราได้ลองใช้ตัวเลือกต่างๆมากมาย: มีวิธีแก้ปัญหาที่กล่าวถึงในปัญหาของ Vagrant น่าเสียดายที่นี่เป็น VirtualBox เท่านั้นและไม่ได้ช่วยผู้ที่ใช้ VMware จนถึงตอนนี้เรายังไม่พบวิธีการเรียกใช้โค้ดในVagrantfileขึ้นอยู่กับผู้ให้บริการที่ใช้ แทนที่จะใช้โฟลเดอร์แชร์มาตรฐานตอนนี้เราได้ลองใช้ประเภทrsyncแล้ว สิ่งนี้ใช้ได้กับ Windows แต่เกิดข้อผิดพลาดบน OS X โดยมีข้อผิดพลาดหลายsymlink …

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