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

rsync เป็นเครื่องมือที่มีประสิทธิภาพในการคัดลอกลำดับชั้นไดเรกทอรีภายในหรือระยะไกลด้วยตัวกรองที่มีประสิทธิภาพในการตัดสินใจสิ่งที่ได้รับการคัดลอก

3
อะไรทำให้ rsync ด้านใดด้านหนึ่งยุ่งมาก?
ฉันมีเครื่อง Debian บน LAN ที่ให้บริการในฐานะเซิร์ฟเวอร์สำรองสำหรับเครื่องอื่น ๆ มี HDD สี่ตัวที่รวมอยู่ในอุปกรณ์ RAID 5 md บน LVM และบน btrfs นั้น ทำการสำรองข้อมูลโดยใช้ rsync และสำหรับระบบไฟล์ขนาดใหญ่ใช้เวลามากกว่าหนึ่งชั่วโมง เป็นเวลานานที่ฉันคิดว่าจะมีเรื่องเล็กน้อยที่ฉันสามารถทำได้เกี่ยวกับเรื่องนี้ อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันสังเกตเห็นว่ากิจกรรม HDD นั้นแตกต่างกันมากทั้งสองด้านของการถ่ายโอน ในขณะที่ด้านการส่งการเรียกใช้ Gentoo และส่วนใหญ่ใช้ ext4 นั้นแทบจะไม่มีดิสก์ IO เลยด้านรับนั้นยุ่งตลอดเวลา เนื่องจากข้อมูลส่วนใหญ่จะไม่เปลี่ยนแปลงระหว่างการถ่ายโอนฉันเชื่อว่าการอ่านข้อมูลเมตาควรเป็นข้อมูลจำนวนมาก แต่ฉันจะแปลกใจจริงๆถ้าการอ่าน inodes ใน btrfs นั้นทำงานได้ดีกว่าการทำแบบเดียวกันใน ext4 iotop ยืนยันดิสก์อ่านประมาณ 1-4 MB / s ในด้านการรับในขณะที่ด้านการส่งมีการระเบิดเป็นครั้งคราวเพียง 0.5 MB / …
11 performance  rsync  io  mdadm  btrfs 

2
คัดลอก symlink และตำแหน่งที่จะใช้ rsync
มันไม่จำเป็นต้องทำrsyncแต่มันก็ดีไม่ต้องเขียนสคริปต์เพื่อทำสิ่งนี้และrsyncอยู่ใกล้กับสิ่งที่ฉันต้องการ rsync -a(หรือ-l) สามารถรักษา symlink และ-Lสามารถยกเลิกการเชื่อมโยง symere และคัดลอกราวกับว่ามันเป็นไฟล์ / dir ปกติ อย่างไรก็ตามมันเป็นไปได้ที่จะเก็บ symlink และคัดลอกไฟล์ / ไดเรกทอรีที่ลิงค์ชี้ไป นี่คือตัวอย่าง สมมติว่าเรามีลำดับชั้นของโฟลเดอร์นี้: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirB/not_this_file dirC/file dirC/file2 dirD/others และเมื่อฉันทำrsync -aR dirA dest(หรืออย่างอื่น) ฉันต้องการให้สิ่งเหล่านี้ปรากฏในdest: dirA/link_to_file -> ../dirB/file dirA/link_to_dir -> ../dirC dirB/file dirC/file dirC/file2 เป็นไปได้ด้วยrsyncหรือไม่ ขอขอบคุณ. สมมติว่า symlink มีพา ธ สัมบูรณ์หรือการชี้ไปนอกไดเรกทอรีต้นทางสามารถละเว้นได้
11 symlink  rsync 

3
ซิงค์สองทิศทางด้วย rsync
ฉันพยายามตั้งค่าสองทิศทางหรือซิงค์สองทางด้วย rsync ในกรณีของฉันฉันจะต้องลบไฟล์เมื่อทำการซิงค์จาก B ถึง A เท่านั้นดังนั้นฉันจึงคิดที่จะใช้ rsync สองครั้งดังนี้: rsync -rtuv ./A/ ./B/ rsync -rtuv --delete ./B/ ./A/ ปัญหานี้ด้วยวิธีแก้ไขปัญหานี้คือเมื่อฉันรัน rsync (B-> A) ซึ่งจะเกิดขึ้นทันทีหลังจากเรียกใช้ rsync (AB) ไฟล์ใหม่ใด ๆ ที่สร้างขึ้นระหว่างการซิงค์จะถูกลบด้วย มีวิธีที่ฉันสามารถระบุการประทับเวลาเป็นเงื่อนไขว่าจะลบไฟล์เฉพาะถ้ามันสร้างขึ้นก่อนวันที่ / เวลานี้ Updated: ฉันเข้าใจว่ามีวิธีแก้ปัญหาพร้อมเพรียง แต่ปัญหาที่เกิดขึ้นพร้อมเพรียงจะต้องติดตั้งที่ปลายทั้งสอง ฉันกำลังซิงค์กับเซิร์ฟเวอร์ระยะไกลและฉันไม่สามารถติดตั้งพร้อมเพรียงในปลายทางระยะไกล

4
การตั้งค่าระดับที่ดีขึ้นสำหรับกระบวนการเป็นวิธีที่มีประสิทธิภาพในการลดผลกระทบต่อเวลาในการโหลดระบบ / CPU หรือไม่?
ฉันมีงาน rsync cron ซึ่งผลักภาระเซิร์ฟเวอร์และเรียกเตือนการตรวจสอบ หากฉันตั้งค่างานให้ทำงานในระดับดีมากจะช่วยลดผลกระทบที่มีต่อค่าโหลดระบบได้อย่างมีประสิทธิภาพหรือไม่
10 cron  rsync  io  load  nice 

5
Rsync ที่จัดการการเคลื่อนไหวอย่างสมเหตุสมผล
ฉันใช้rsyncเพื่อซิงโครไนซ์โฮมไดเร็กตอรี่ระหว่างแล็ปท็อปและเน็ตบุ๊คของฉัน (ทั้งคู่ใช้ ext4 กับ Linux) ปัญหาเดียวของฉันคือว่าทุกครั้งที่ฉันต้องการจัดระเบียบไดเรกทอรีใหม่อย่างสมบูรณ์และrsyncมองว่านี่เป็นการลบและการสร้างไฟล์ใหม่ซึ่งทำให้ช้าและไม่มีประสิทธิภาพมาก มีใครรู้บ้างเกี่ยวกับซอฟต์แวร์ที่ดีที่สามารถจัดการไฟล์ได้ดี? ฉันพบว่าพร้อมเพรียงควรมีความสามารถในเรื่องนี้ แต่ดูเหมือนจะไม่ทำงานในทางปฏิบัติ ผมทดสอบพร้อมเพรียงกันโดยการอัพเดทสองไดเรกทอรีท้องถิ่นแต่ละที่มีไฟล์ขนาดใหญ่ในนั้นและก็ยังคงตรวจพบการเคลื่อนไหวของฉันเป็นการสร้างการลบ + และอยู่ในผลได้ช้ากว่าrsync ยิ่งไปกว่านั้นถ้าฉันจำได้อย่างถูกต้องจากการดูซอร์สโค้ดของunisonสองสามเดือนที่ผ่านมามันพยายามทำบางสิ่งเช่นทำ sha sums - และฉันไม่ต้องการทางออกที่ดีที่สุดของฉันที่จะทำ sha sums - มันช้าเกินไป ไฟล์ไดเรกทอรี / ฉันต้องการบางสิ่งที่สังเกตเห็นสิ่งต่าง ๆ เช่น: "แหล่งที่มาคู่สุดท้ายของไฟล์นี้ดูเหมือนว่าถูกลบไปแล้วและมีไฟล์ใหม่ที่อื่นในแผนผังไดเรกทอรีต้นทางที่มี mdate ขนาดและหมายเลข inode เหมือนกันดังนั้นฉันแค่คิดว่านี่เป็นการย้ายและ ย้ายเป้าหมายตามลำดับแทนที่จะทำการลบ + คัดลอก " เป็นสิ่งสำคัญสำหรับฉันที่ฉันจะสามารถซิงค์เครื่องเหล่านี้ได้อย่างรวดเร็ว ข้อเสนอแนะใด ๆ

5
ระบบไฟล์จะสามารถคัดลอกได้อย่างไร
ฉันมีระบบไฟล์สำหรับอุปกรณ์ที่ฉันกำลังเขียนโปรแกรมซึ่งฉันต้องการทำสำเนาอย่างถูกต้อง โดยอุดมคติแล้วฉันต้องการให้สำเนานี้เหมือนกับโฟลเดอร์ที่คัดลอกมา ฉันพยายามใช้cp -r cp -aและrsync -azvPพยายามทำให้สำเร็จ แต่ละอันมีผลในโฟลเดอร์ที่มีขนาดแตกต่างกัน (โดยใช้du -s) และท้ายที่สุดแม้ว่าอุปกรณ์ของฉันจะหมดไปจากโฟลเดอร์ดั้งเดิม แต่มันจะไม่หายไปจากโฟลเดอร์ที่ฉันคัดลอก อะไรคือสิ่งที่ทำให้คำสั่งที่ฉันใช้ไม่ได้ผล? เป็นไปได้ไหมที่จะทำให้ทุกอย่างเหมือนกันเมื่อทำการคัดลอกระบบไฟล์ / โฟลเดอร์? ถ้าเป็นเช่นนั้นฉันจะทำยังไงต่อไป? PS ฉันโพสต์คำถามที่คล้ายกันในStackOverflowแต่รู้ได้อย่างรวดเร็วว่าฉันได้ถามมันในการแลกเปลี่ยนที่ไม่ถูกต้อง แก้ไข: สิ่งนี้อาจไม่เป็นประโยชน์ แต่ไม่ว่าฉันจะใช้วิธีการใดในการคัดลอกไดเรกทอรีจะทำให้เครื่องมีปัญหากับ Kernel Panic ด้วยผลลัพธ์ต่อไปนี้ VFS: ไม่สามารถเมานท์รูท fs ผ่าน NFS ลองฟลอปปี้ VFS: ไม่สามารถเปิดอุปกรณ์รูท "nfs" หรือ unknown-block (2,0) โปรดผนวกตัวเลือกการบูต "root =" ที่ถูกต้อง นี่คือพาร์ติชั่นที่มีอยู่: 1f00 64 mtdblock0 (ไดรเวอร์?) 1f02 64 mtdblock2 (ไดรเวอร์?) …
10 linux  filesystems  rsync  cp 

2
Rsync ยกเว้น. svn โฟลเดอร์และเนื้อหาย่อย?
การจัดการกับ repo การโค่นล้มและผู้ใช้ใหม่ที่ไม่เข้าใจวิธีการทำงาน เรื่องสั้นสั้นเนื่องจากโครงสร้างในท้องถิ่นของพวกเขาถูกทำให้ยุ่งเหยิงเนื่องจากการคัดลอกโฟลเดอร์. svn แบบสุ่มเกี่ยวกับฉันทำต่อไปนี้: คัดลอกโครงสร้างโลคัลไปยังโฟลเดอร์ที่เรียกว่า staging ลบโฟลเดอร์. svn ทั้งหมดซ้ำจากไดเรกทอรีลำดับขั้น ตรวจสอบ repo ไปที่ "โฟลเดอร์สะอาด" ตอนนี้เรากำลังอยู่ในขั้นตอนสุดท้าย - รับเนื้อหาของไฟล์ staging เพื่อเขียนทับเนื้อหาที่สะอาด ฉันต้องมีคำสั่งคัดลอกเนื้อหาของไดเรกทอรีการแสดงละครไปยังไดเรกทอรีที่สะอาดลบทุกอย่างที่อยู่ในไดเรกทอรีที่สะอาดเท่านั้น แต่ออกจากโฟลเดอร์สะอาด. svn โฟลเดอร์ในชั้นเชิง ดูเหมือนว่างานสำหรับ rsync คำสั่งต่อไปนี้จะถูกต้องหรือไม่ rsync -avr --exclude=.svn* [staging] [clean]
10 rsync  subversion 

5
การทำข้อมูลไดเรกทอรีให้ตรงกันกับการค้นพบโดยอัตโนมัติ
ฉันกำลังทำงานกับคลัสเตอร์ของเซิร์ฟเวอร์ Linux ที่อยู่ด้านหลังคุณสมบัติการปรับขนาดอัตโนมัติของคลาวด์ของ Amazon ( เอกสาร ) มีไฟล์ที่สะสมในแต่ละเซิร์ฟเวอร์เป็นไฟล์แคชสำหรับแอปพลิเคชัน ฉันกำลังค้นหาวิธีอัตโนมัติเพื่อให้เซิร์ฟเวอร์ซิงค์โฟลเดอร์นั้นกันเอง Rsync จะทำงานถ้ามีคนมีวิธีที่ชาญฉลาดในการตรวจจับแบบเพื่อน Unisonเดียวกันจะไปสำหรับ เราได้พิจารณาการใช้ SaaS เช่น Dropbox ด้วย Gluster ดูเหมือนว่า overkill และฉันไม่แน่ใจว่ามันง่ายแค่ไหนที่จะมีคอมพิวเตอร์เครื่องใหม่เข้าร่วมคลัสเตอร์โดยอัตโนมัติ สิ่งที่จะเกิดขึ้นก็คือเมื่อมีการเปิดตัวเซิร์ฟเวอร์ใหม่มันจะค้นพบว่าเป็นเซิร์ฟเวอร์เดียวกันและเริ่มทำการซิงค์โฟลเดอร์ จากจุดนั้นเป็นไฟล์ล่าสุดที่ชนะการซิงโครไนซ์ P2P มีอะไรออกไปที่ทำสิ่งนี้?
10 linux  rsync  cluster 

2
การซิงโครไนซ์ไฟล์หลายล้านไฟล์ระหว่างเซิร์ฟเวอร์ Linux สองเครื่อง
ฉันมีเซิร์ฟเวอร์ซึ่งการส่งออกไดเรกทอรีที่มี ~ 7 ล้านไฟล์ (ภาพส่วนใหญ่) จากดิสก์ท้องถิ่นให้กับลูกค้าผ่านทางเครือข่ายNFS ฉันจำเป็นต้องเพิ่มอันที่สองเพื่อประโยชน์ของ HA และเพื่อให้ซิงค์กับอันแรกที่มีเดลต้าน้อยที่สุดระหว่างสองที่เป็นไปได้ การวิจัยแสดงให้เห็นว่าการใช้lsyncdหรือโซลูชั่นinotify - based อื่น ๆสำหรับเรื่องนี้ แต่เมื่อกำหนดจำนวนไฟล์ที่สร้างนาฬิกาinotify นั้นจะไม่มีที่สิ้นสุด สิ่งเดียวกันสำหรับrsync วิธีแก้ปัญหาที่เป็นไปได้อื่น ๆ น่าจะเป็นdrdbหรือระบบไฟล์คลัสเตอร์เช่นcephหรือglusterfsแต่ฉันไม่มีประสบการณ์กับพวกนั้นและไม่รู้ว่าอันไหนจะเหมาะสมกว่าและรับมือกับไฟล์จำนวนมากและยังให้ประสิทธิภาพที่เหมาะสม โปรดทราบว่ากิจกรรมส่วนใหญ่จะอ่านโดยมีการเขียนเกิดขึ้นเพียงเล็กน้อย

3
rsync กับเซิร์ฟเวอร์ระยะไกลหลายตัว
ฉันมีไฟล์ที่ฉันต้องการส่งไปยังเซิร์ฟเวอร์หลายเครื่อง เป็นไปได้หรือไม่ที่จะตั้งชื่อจุดหมายปลายทางหลายแห่ง? rsync foo.png server1:foo.png server2:foo.png สิ่งนี้ให้ฉัน "ไม่คาดคิดจากระยะไกลหาเรื่อง: server1: foo.png
10 rsync 

3
rsync mkstemp ล้มเหลวอาร์กิวเมนต์ไม่ถูกต้อง (22) ด้วยการเมานต์ davfs ของ Box.com cloud
ผมติด Box.com การจัดเก็บเมฆใช้ davfs ตามคำแนะนำเหล่านี้ ฉันติดตั้งบัญชี Box.com ของฉันภายใต้ / home / me / Cloud / Box ฉันสามารถเข้าถึงระบบไฟล์ที่ติดตั้งผ่าน Dolphin และผ่านเทอร์มินัล มันค่อนข้างช้า แต่ฉันสามารถแสดงรายการ (ls) และนำทางโครงสร้างไดเรกทอรีทั้งหมดโดยไม่มีข้อผิดพลาด ต่อไปฉันพยายามเรียกใช้ rsync ดังนี้: rsync -auvz --max-size=250M --exclude '.*' /home/me/Music/ /home/me/Cloud/Box/Music ฉันก็ลอง: rsync -auv /home/me/Music/A /home/me/Cloud/Box/Music และรูปแบบอื่น ๆ ของคำสั่ง rsync คำสั่งกำลังคัดลอกเพลงของฉันจากระบบไฟล์ในเครื่อง (/ home / me / Music /) …

2
ฉันจะเพิ่มความเร็วการดำเนินงานในไฟล์แบบกระจายด้วย tar, gzip, rsync ได้อย่างไร
ฉันมีไฟล์หร็อมแหร็ม ( du -hรายงาน 3G และdu -h --apparent-sizeรายงาน 100G) จนถึงตอนนี้ดีมาก ตอนนี้เมื่อฉันต้องการบีบอัดไฟล์โดยใช้tarหรือส่งผ่านเครือข่ายที่ใช้rsyncก็จะต้องใช้เวลามากเท่า 3G ดูเหมือนว่าเครื่องมือเหล่านี้อ่านค่าศูนย์ทั้งหมด ฉันคิดว่ารูเหล่านั้นถูกทำเครื่องหมายอย่างใดและเครื่องมือเหล่านี้สามารถข้ามมันได้ มีแนวโน้มว่าจะไม่มีปัญหากับไฟล์ของฉัน? นี่เป็นคุณสมบัติที่ขาดหายไปในtarหรือrsyncไม่ค้นหาไฟล์ที่กระจัดกระจายหรือไม่? ฉันใช้tarพารามิเตอร์--sparseแต่นั่นก็ไม่ได้ทำให้เร็วขึ้น ก็ไม่พารามิเตอร์rsync--sparse มีวิธีใดที่จะเพิ่มความเร็วเครื่องมือเหล่านี้ในไฟล์ที่กระจัดกระจาย?

4
rsync, ลบไฟล์ที่ได้รับด้านที่ถูกลบในการส่งด้าน (แต่อย่าลบทุกอย่าง)
ฉันต้องการใช้ rsync กับ ... ลบไฟล์ในด้านการรับที่ถูกลบไปยังด้านการส่ง อย่าลบไฟล์อื่น ๆ ที่อยู่ในไดเรกทอรี rsynced ทางด้านการรับ ตัวอย่างเช่นสมมติว่าฉันมีไดเรกทอรีlocal-src: ก่อน: local-srcภายในมี ... a.txt b.txt c.txt ไดเรกทอรีระยะไกลของฉันที่ฉันต้องการซิงค์กับเนื้อหาของการที่เรียกว่าlocal-srcremote-src ก่อน: remote-srcจากระยะไกลประกอบด้วย ... a.txt b.txt c.txt d.txt README.md สมมติว่าฉันลบบางไฟล์ในlocal-src: หลังจากลบ local-srcในพื้นที่:ภายในมี ... c.txt ฉันจะใช้ rsync อย่างไรเพื่อให้แน่ใจว่าไฟล์ที่ถูกลบที่ต้นทางนั้นจะถูกลบที่ปลายทางเช่นกัน แต่ไม่ต้องลบไฟล์อื่น ๆ ที่ปลายทาง ตัวอย่างเช่นฉันต้องการมีสิ่งต่อไปนี้ที่ปลายทาง: หลังจากลบ LOCAL: remote-srcจากระยะไกลมี ... c.txt d.txt README.md นั่นคือa.txtและb.txtจะถูกลบจากระยะไกลเช่นกัน แต่d.txtและREADME.txtถูกทิ้งให้อยู่คนเดียว มีวิธีใดบ้างที่จะทำให้สำเร็จด้วย rsync? แก้ไข:คำตัดสินดูเหมือนว่าจะเป็นไปไม่ได้กับ …
9 rsync 

3
ให้สิทธิ์ผู้ใช้แก่ไฟล์และโฟลเดอร์ทั้งหมด
ฉันต้องการมีผู้ใช้ที่สามารถเข้าถึงไฟล์และโฟลเดอร์ทั้งหมดในระบบ สิ่งนี้มีวัตถุประสงค์เพื่อใช้ RSYNC บนเครื่องท้องถิ่นเพื่อสำรองข้อมูลเครื่องระยะไกล ในขณะนี้เรากำลังใช้ผู้ใช้backupsและแม้ว่าเราได้เพิ่มผู้ใช้นี้ในกลุ่มsudoและadminrsync ยังคงส่งข้อความเช่น: rsync: opendir "/ location / to / folder" ล้มเหลว: การอนุญาตถูกปฏิเสธ (13) rsync: send_files ไม่สามารถเปิด "/ location / to / file": การอนุญาตถูกปฏิเสธ (13) แนวคิดใด ๆ ที่เราbackupsอนุญาตให้ผู้ใช้เข้าถึงทุกสิ่ง (ขาดการเพิ่มผู้ใช้ไปยังทุกกลุ่มตลอดเวลา - เซิร์ฟเวอร์ระยะไกลที่เราพยายามสำรองข้อมูลเป็นเซิร์ฟเวอร์โฮสติ้งเฉพาะซึ่งทุกบัญชีมีผู้ใช้ของตนเองในระบบ) ขอบคุณสำหรับความช่วยเหลือ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.