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

Rsync เป็นเครื่องมือคัดลอกไฟล์ที่รวดเร็วและหลากหลายเป็นพิเศษ มันสามารถคัดลอกโลคัลไปยัง / จากโฮสต์อื่นผ่านเปลือกระยะไกลใด ๆ หรือไป / จากระยะไกล rsync daemon

5
การซิงโครไนซ์โครงสร้างโฟลเดอร์ที่มีขนาดใหญ่มาก
เรามีโครงสร้างโฟลเดอร์บนอินทราเน็ตของเราซึ่งมีไฟล์ประมาณ 800,000 ไฟล์แบ่งออกเป็นประมาณ 4,000 โฟลเดอร์ เราจำเป็นต้องซิงโครไนซ์สิ่งนี้กับกลุ่มเครื่องขนาดเล็กใน DMZ ของเรา ความลึกของโครงสร้างตื้นมาก (ไม่ลึกเกินสองระดับ) ไฟล์ส่วนใหญ่ไม่เคยเปลี่ยนแปลงในแต่ละวันมีไฟล์ที่อัปเดตไม่กี่พันไฟล์และไฟล์ใหม่สองพันไฟล์ ข้อมูลคือข้อมูลการรายงานเชิงประวัติที่ถูกเก็บรักษาไว้ซึ่งแหล่งข้อมูลได้รับการกำจัดแล้ว (เช่นรายงานเหล่านี้ได้รับการสรุปแล้วว่าข้อมูลต้นฉบับนั้นเพียงพอแล้วที่เราเก็บถาวรและลบทิ้ง) การซิงโครไนซ์หนึ่งครั้งต่อวันนั้นเพียงพอเนื่องจากสามารถเกิดขึ้นได้ในกรอบเวลาที่เหมาะสม มีการสร้างรายงานข้ามคืนและเราทำการซิงค์สิ่งแรกในตอนเช้าตามภารกิจที่กำหนด เห็นได้ชัดว่าเนื่องจากมีไฟล์ไม่กี่ไฟล์ที่เปลี่ยนเป็นประจำเราสามารถได้รับประโยชน์อย่างมากจากการทำสำเนาแบบเพิ่มหน่วย เราได้ลอง Rsync แล้ว แต่อาจใช้เวลานานถึงแปดถึงสิบสองชั่วโมงในการดำเนินการ "สร้างรายการไฟล์" ให้เสร็จสมบูรณ์ เป็นที่ชัดเจนว่าเรากำลังเติบโตอย่างรวดเร็วในสิ่งที่ rsync มีความสามารถ (กรอบเวลา 12 ชั่วโมงยาวเกินไป) เราใช้เครื่องมืออื่นที่เรียกว่า RepliWeb เพื่อซิงโครไนซ์โครงสร้างและสามารถถ่ายโอนส่วนเพิ่มได้ในเวลาประมาณ 45 นาที อย่างไรก็ตามดูเหมือนว่าเราได้เกินขีด จำกัด แล้วก็เริ่มเห็นไฟล์ปรากฏเป็นลบเมื่อไม่ (อาจมีโครงสร้างหน่วยความจำภายในบางส่วนหมดเราไม่แน่ใจ) มีคนอื่นที่ทำงานในโครงการการประสานขนาดใหญ่ของการเรียงลำดับนี้หรือไม่? มีบางสิ่งที่ออกแบบมาเพื่อจัดการโครงสร้างไฟล์ขนาดใหญ่เช่นนี้เพื่อการซิงโครไนซ์หรือไม่?

1
ฉันจะป้องกัน rsync แทนที่ลิงก์สัญลักษณ์ด้วยไดเรกทอรีใหม่ในลำดับชั้นไดเรกทอรีเป้าหมายได้อย่างไร
ฉันใช้rsync (1)เพื่อซิงโครไนซ์ไฟล์ระหว่างพื้นที่ต้นทางและพื้นที่เป้าหมายที่ลำดับชั้นไดเรกทอรีเป้าหมายมีลิงก์สัญลักษณ์ เมื่อไดเร็กทอรีต้นทางมีชื่อและพา ธ สัมพัทธ์เหมือนกับลิงก์สัญลักษณ์ในพื้นที่เป้าหมาย rsync จะแทนที่ลิงก์สัญลักษณ์ด้วยไดเร็กทอรีต้นทางที่คัดลอกและเนื้อหาทั้งหมด ฉันต้องการ rsync แทนปล่อยให้ลิงค์สัญลักษณ์เหมือนเดิมและคัดลอกเฉพาะไฟล์ที่จะถูกคัดลอกเท่านั้นที่มีการเชื่อมโยงสัญลักษณ์เป็นไดเรกทอรีจริง ขณะนี้ฉันใช้-Cvrtpตัวเลือกในการซิงค์ ฉันรู้ถึง--linksตัวเลือก แต่ดูเหมือนว่าจะเกี่ยวข้องกับลิงก์สัญลักษณ์ในพื้นที่แหล่งข้อมูลเท่านั้น มีวิธีรับพฤติกรรมที่ฉันต้องการด้วย rsync หรือไม่

6
คำสั่ง Unix copy ที่มีแถบความคืบหน้า แต่ไม่หนักเท่า rsync
ฉันต้องการคัดลอกไฟล์จำนวนมาก ฉันมักจะใช้ rsync เพราะฉันผ่าน-aPตัวเลือกและฉันสามารถดู (a) จำนวนไฟล์ที่เหลือเพื่อดำเนินการและ (b) จำนวนไฟล์แต่ละไฟล์ที่ถูกคัดลอก อย่างไรก็ตาม rsync ยังทำสิ่งต่าง ๆ มากมายกับ checksums เพื่อตรวจสอบว่ามีการคัดลอกไฟล์ อย่างไรก็ตามตอนนี้ฉันไม่ต้องการมันจริงๆ แต่ปกติcpจะไม่รวมจำนวนไฟล์ที่เหลือที่กล่าวถึงข้างต้นซึ่งมีประโยชน์มาก มีอะไรcpที่รวมถึงความคืบหน้าของจำนวนไฟล์ที่เหลือ แต่ไม่หนักเท่าrsync?
14 rsync  copy  cp 

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

2
คอมเพล็กซ์รวมถึง / ไม่รวมกับ rsync
ฉันกำลังพยายามหาไวยากรณ์ตัวกรอง rsync เพื่อทำการรวม / แยกที่ซับซ้อนและพยายามทำสิ่งต่อไปนี้: Include / Exclude /home Include /home/user1/* Include /home/user2/subdir/* ฉันได้ลองใช้รูปแบบของตัวกรองหลายรูปแบบและถึงแม้จะอ่านหน้าคนหลายครั้งฉันก็ไม่สามารถรับผลกระทบนี้ได้ ตัวกรอง Rsync ดูเหมือนจะทรงพลังมากและฉันคิดว่ามันยากที่จะเชื่อว่าพวกเขาไม่สามารถจัดการสถานการณ์ทั่วไปเช่นนี้ได้
14 rsync 

1
rsync เปลี่ยนเนื้อหาของไฟล์หรือไม่
ลองนึกภาพผมมีไฟล์remote/Aที่ซิงค์ไปlocal/Aและlocal/Bเป็น Hardlink local/Aของ มีภัยคุกคามหรือไม่ที่การremote/Aเปลี่ยนแปลงครั้งต่อไปและการซิงโครไนซ์rsyncจะไม่ลบlocal/Aแต่เพียงแทนที่ / เพิ่มบางส่วนเข้าด้วยกันดังนั้นจึงเป็นการเปลี่ยนแปลงlocal/B(เพราะการเชื่อมโยง)

2
rsync --compress-level: ระดับการบีบอัดใดที่สามารถใช้ได้?
Rsync มีอาร์กิวเมนต์บรรทัดคำสั่งสำหรับการบีบอัด: -z, --compress compress file data during the transfer --compress-level=NUM explicitly set compression level อะไร--compress-levelหมายถึง? หมายเลขใดที่สามารถใช้เป็นระดับ

5
เข้ารหัสข้อมูลสำรองระยะไกลผ่าน Rsync?
ฉันใช้เซิร์ฟเวอร์ CentOS ขนาดเล็กที่บ้านของฉันเพื่อสำรองข้อมูลอื่น ๆ เพื่อนของฉันที่อีกฝั่งหนึ่งของเมืองก็ใช้เซิร์ฟเวอร์ขนาดเล็กที่บ้านของเขาเพื่อจุดประสงค์เดียวกัน เราได้ใช้ความคิดในการใช้เซิร์ฟเวอร์ eachothers เพื่อทำการสำรองข้อมูลระยะไกล / นอกสถานที่ โดยทั่วไปเราแต่ละคนซื้อ hdd ภายนอกเพื่อเก็บไว้ที่บ้านพักของแต่ละคนติดกับเซิร์ฟเวอร์ของแต่ละคน จากนั้นเราจะทำการตั้งค่า rsync แต่ละครั้งเพื่อส่งข้อมูลที่เหมาะสมจากเซิร์ฟเวอร์หนึ่งไปยัง HDD ภายนอกบนเซิร์ฟเวอร์อื่น ค่อนข้างตรงไปตรงมาส่วนใหญ่ อย่างไรก็ตามสิ่งหนึ่งที่สำคัญ (อย่างน้อยสำหรับฉัน) คือการเข้ารหัสข้อมูล ฉันต้องการจัดเก็บข้อมูลของฉันในฮาร์ดดิสก์ภายนอกบนเซิร์ฟเวอร์เพื่อนของฉัน แต่ฉันไม่ต้องการให้เพื่อนของฉัน (หรือใครก็ตามที่เข้าถึงเซิร์ฟเวอร์ของเพื่อนของฉัน) เพื่อให้สามารถอ่านอะไรบน HDD ภายนอก อะไรคือวิธีที่ดีที่สุดในการทำสิ่งนี้? คุณสามารถใช้ rsync เพื่อส่งข้อมูลไปยังไดรฟ์ hdd ที่เข้ารหัสแล้วและส่งข้อความรหัสผ่านพร้อมกับข้อมูลที่ใช้ในการเขียนเมื่อมันไปถึงเซิร์ฟเวอร์ได้หรือไม่

9
Windows rsync ที่รองรับชื่อไฟล์แบบยาวหรือทางเลือกที่ดี?
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันกำลัง rsync บนโฮสต์ Linux เพื่อคัดลอกสิ่งต่าง ๆ จาก Windows ไปยังกล่อง Linux ของฉัน แต่ฉันไม่สามารถคัดลอกไฟล์ที่มีชื่อยาว ๆ ได้ ฉันได้ลองDeltaCopy , cwrsyncและcygwinแล้ว จากสิ่งที่ฉันพบมีเครื่องมือทั้งหมดเหล่านี้ปฏิเสธที่จะคัดลอกไฟล์เมื่อความยาวของไฟล์ยาวดูเหมือนว่าจะอยู่ที่ประมาณ 255 อักขระ ปัญหานี้ได้รับการแก้ไขในฟอรัม cwrsync ที่นี่และมันอาจจะได้รับการแก้ไขในอนาคตเมื่อใดก็ตามที่ cygwin 1.7 ออกมาและรองรับ UTF8 แม้จะมีการสร้างการทดสอบที่นี่ ฉันไม่สบายใจเป็นพิเศษเมื่อใช้ชุดทดสอบสร้างบนระบบการผลิต ฉันหวังว่าจะมีคนรู้จักตัวเลือก rsync อื่น ในฐานะที่เป็นทางเลือกของ rsync คุณรู้จักเครื่องมืออื่นที่ฉันสามารถคัดลอกโครงสร้างไดเรกทอรีบน Linux จากโฮสต์ windows ที่ไม่มีปัญหากับไฟล์ที่มีความยาวหรือตั้งชื่อผิดปกติหรือไม่? บิตที่สำคัญคือฉันต้องการเครื่องมือที่สามารถทำงานข้ามอุโมงค์ SSH ได้อย่างง่ายดาย บางระบบอยู่นอกเหนือไฟร์วอลล์และฉันเชื่อว่า SSH เป็นอุโมงค์ที่ฉันจะได้รับอนุญาตให้ใช้

4
ทำไมคนไม่ใช้ rsync เพื่อสำรองข้อมูลผู้เยี่ยมชม vmware?
หากฉันใช้ระบบ vmware ESXi ที่ทันสมัยฉันสามารถวางไฟล์ rsync ไบนารีและ rsync ที่เชื่อมโยงแบบคงที่ไปยังปลายทางใด ๆ ผ่าน SSH ฉันพยายามที่จะเข้าใจว่าเหตุใดการสำรองข้อมูลของแขก vmware ส่วนใหญ่ (ทั้งหมด) ก็ไม่ได้ทำเช่นนี้ หาก VM กำลังทำงานอยู่คุณสามารถใช้ 'vim-cmd vmsvc / snapshot.create' เพื่อสร้างสแน็ปช็อตจากนั้น rsync สแน็ปช็อตนั้นไปยังรีโมตโฮสต์ (มีแม้กระทั่งตัวเลือกในการ "หยุด" ภาพรวม) หรือหากคุณต้องการสำรองข้อมูลที่มีประสิทธิภาพยิ่งขึ้นคุณสามารถหยุด VM และ rsync ได้อย่างสง่างามผ่านไฟล์ vmdk ดังนั้น ... ดูเหมือนว่าฉันเป็นสคริปต์เชลล์แบบง่าย ๆ ซึ่งอยู่นอกเหนือจากการสำรองข้อมูลทั้งหมดที่ฉันต้องการทำอย่างง่าย ๆ และง่ายดายโดยใช้ rsync แบบเก่าธรรมดา ฉันหายไปนี่อะไร

2
การใช้ rsync เพื่อลบไฟล์ที่ไม่เกี่ยวข้อง
อะไรคือวิธีที่ดีที่สุดในการเปรียบเทียบโครงสร้างไดเรกทอรีทั้งสองและการลบไฟล์และไดเรกทอรีที่ไม่เกี่ยวข้องในตำแหน่งเป้าหมาย ฉันมีแอพแกลเลอรี่ภาพบนเว็บขนาดเล็กที่ฉันกำลังพัฒนา ผู้ใช้เพิ่มและลบภาพโดยใช้ FTP ซอฟต์แวร์แกลเลอรีเว็บที่ฉันเขียนสร้างภาพขนาดย่อใหม่ได้ทันที แต่ไม่ได้จัดการกับการลบ สิ่งที่ฉันต้องการจะทำคือกำหนดคำสั่ง / สคริปต์ทุบตีเพื่อดูแลสิ่งนี้ตามช่วงเวลาที่กำหนดไว้ล่วงหน้า ภาพต้นฉบับจะถูกจัดเก็บไว้ใน/home/gallery/images/และจัดระเบียบในอัลบั้มโดยใช้ไดเรกทอรีย่อย ภาพขนาดเล็กถูกแคชไว้/home/gallery/thumbs/โดยใช้โครงสร้างไดเรกทอรีและชื่อไฟล์เดียวกันกับไดเรกทอรีรูปภาพ ฉันได้ลองใช้สิ่งต่อไปนี้เพื่อบรรลุเป้าหมาย: rsync -r --delete --ignore-existing /home/gallery/images /home/gallery/thumbs ซึ่งจะทำงานได้ดีหากภาพขนาดย่อทั้งหมดถูกแคชไว้แล้ว แต่ไม่รับประกันว่าจะเป็นเช่นนี้เมื่อเกิดกรณีนี้ขึ้นไดเรกทอรีภาพขนาดย่อมีภาพขนาดเต็มต้นฉบับที่คัดลอกมา ฉันจะทำสิ่งที่ฉันพยายามทำให้ดีที่สุดได้อย่างไร
13 linux  bash  rsync 

5
rsync เร็วขึ้นของไดเรกทอรีใหญ่ซึ่งไม่ได้เปลี่ยน
เราใช้ rsync กับเซิร์ฟเวอร์สำรอง น่าเสียดายที่เครือข่ายไปยังเซิร์ฟเวอร์บางแห่งช้า ใช้เวลาสูงสุดห้านาทีในการตรวจสอบ rsync ว่าไม่มีอะไรเปลี่ยนแปลงในไดเรกทอรีขนาดใหญ่ แผนผังไดเร็กทอรีขนาดใหญ่เหล่านี้มีไฟล์ขนาดเล็กจำนวนมาก (ประมาณ 80k ไฟล์) ฉันเดาว่าไคลเอนต์ rsync จะส่งข้อมูลสำหรับไฟล์ 80k แต่ละไฟล์ เนื่องจากเครือข่ายช้าฉันต้องการหลีกเลี่ยงการส่งข้อมูล 80k เท่าของแต่ละไฟล์ มีวิธีบอก rsync ให้แฮชผลรวมของต้นไม้ไดเรกทอรีย่อยหรือไม่ วิธีนี้ไคลเอ็นต์ rsync จะส่งเพียงไม่กี่ไบต์สำหรับทรีไดเรกทอรีขนาดใหญ่ ปรับปรุง rsyncถึงตอนนี้กลยุทธ์ของฉันคือการใช้งาน แต่ถ้ามีเครื่องมืออื่นที่เหมาะกับที่นี่ฉันสามารถเปลี่ยนได้ ทั้ง (เซิร์ฟเวอร์และไคลเอนต์) อยู่ภายใต้การควบคุมของฉัน Update2 มีไฟล์ 80k ในไดเรกทอรีหนึ่งต้นไม้ แต่ละไดเรกทอรีเดียวไม่มีไฟล์หรือไดเรกทอรีย่อยมากกว่า 2k Update3 รายละเอียดเกี่ยวกับความช้าของเครือข่าย: time ssh einswp 'cd attachments/200 && ls -lLR' >/tmp/list real 0m2.645s …

4
Rsync -avzHP ติดตาม hardlinks แทนการคัดลอกเป็น hardlinks
ฉันใช้ rsnapshot เพื่อสร้างการสำรองข้อมูลรายชั่วโมง / รายวัน / รายสัปดาห์ / รายเดือนของ "งาน" ของฉัน ตอนนี้ฉันกำลังพยายามคัดลอกไดเรกทอรีสำรองทั้งหมดไปยังไดรฟ์ภายนอกโดยใช้ rsync ฉันใช้คำสั่ง / พารามิเตอร์นี้ภายในเซสชันหน้าจอ (ใช่ rsync-excluse.txt อยู่ใน dir ที่ฉันเรียกใช้คำสั่งจาก) rsync -avzHP --exclude-from 'rsync-exclude.txt' /share/backup/ /share/eSATADisk1/backup/; สิ่งทั้งหมดกำลังทำงานบน QNAP TS-439, ไดรฟ์ภายในเป็นดิสก์เดี่ยว (ไม่มี RAID) ที่จัดรูปแบบ EXT4, ไดรฟ์ภายนอกถูกจัดรูปแบบ EXT3 จะเกิดอะไรขึ้น: Rsync ติดตามทุกฮาร์ดลิงก์และคัดลอกไฟล์จริงแทนที่จะสร้างฮาร์ดลิงก์ที่อัปเดตใหม่บนไดรฟ์ภายนอก ฉันไม่รู้จักสิ่งนี้ในทันทีดังนั้นไดรฟ์ภายนอกจึงถูกทิ้งด้วยถังขยะ xxx สำเนาของไฟล์เดียวกัน สิ่งที่ฉันต้องการบรรลุคือการคัดลอกโครงสร้างไฟล์ทั้งหมดที่สร้างโดย rsnapshot ไปยังไดรฟ์ภายนอกทำให้ฮาร์ดลิงก์นั้นประหยัดพื้นที่ หมายเหตุ: สิ่งนี้ไม่จำเป็นต้องทำโดยใช้ rsync ขอบคุณสำหรับความคิดและเวลาของคุณ …

1
ทำไมต้องติดตั้ง rsync ทั้งสองด้านเพื่อให้ทำงานได้
นี่อาจเป็นคำถามงี่เง่า แต่ฉันต้องการทำให้เซิร์ฟเวอร์บางตัวของฉันสะอาดและไม่ต้องการติดตั้งซอฟต์แวร์เพิ่มเติมใด ๆ แต่ฉันคิดเสมอว่า rsync จะคัดลอกข้อมูลไปที่ SSH และไม่ต้องการ rsync ที่ปลายทางระยะไกล /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01 rsync: command not found
13 ssh  rsync 

7
มีเหตุผลอื่นอีกหรือไม่สำหรับ "ไม่มีพื้นที่เหลือบนอุปกรณ์"?
ฉันใช้ Dirvish บนระบบเซิร์ฟเวอร์ Ubuntu สำหรับการสำรอง hd ไปยังไดรฟ์ usb 3.0 ภายนอก เมื่อไม่กี่วันที่ผ่านมาทุกอย่างทำงานได้ดี แต่ตอนนี้การสำรองข้อมูลทั้งหมดล้มเหลวด้วย "ไม่มีพื้นที่เหลือบนอุปกรณ์ (28)" และ "ระบบไฟล์เต็ม" น่าเสียดายที่มันไม่ง่ายขนาดนั้น: มีอุปกรณ์ฟรี> 500 GB รายละเอียด: rsync_error: rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename1>.eDJiD9": No space left on device (28) rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32) rsync: write "/mnt/backupsys/shd/gesichert1/20130223_213242/tree/<SomeFilename2>.RHuUAJ": No space left …

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