ข้อผิดพลาดในการลบคำสั่ง rsync“ พบข้อผิดพลาดของ IO - การข้ามการลบไฟล์”


16

ฉันใช้คำสั่ง rsync เพื่อสำรองไฟล์จากหนึ่งในเซิร์ฟเวอร์ ubuntu ของฉันไปยังเครื่อง ubuntu อื่น เซิร์ฟเวอร์สำรองเรียกสคริปต์ที่ใช้คำสั่ง rysnc นี่คือคำสั่งที่ฉันใช้

rsync -rltvh - บางส่วน - เริ่ม --exclude = .beagle / --exclude =. * - ลบรูทหลัง root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> & 1

live_server สามารถ ssh ได้โดยไม่ต้องใช้รหัสผ่าน ดังนั้นมันใช้งานได้ ตอนนี้ปัญหาอยู่กับ

- ลบตัวเลือกหลังจาก

หลังจากซิงค์ไฟล์ทั้งหมดแล้วในตอนท้ายฉันเห็นข้อผิดพลาดในการลบ skipped.logfile เหมือนกัน

พบข้อผิดพลาดของ IO - การข้ามการลบไฟล์

เมื่อฉันพยายามค้นหาบันทึกมีข้อผิดพลาดบางอย่างในขณะที่ซิงค์ไฟล์

rsync: send_files ไม่สามารถเปิด "/home/xyz/Desktop/PPT_session_1_context.pdf": ปฏิเสธการอนุญาต (13)

ดังนั้นความเข้าใจของฉันคือ rsync ไม่สามารถอ่านไฟล์ทั้งหมดจากเป้าหมายเพื่อความปลอดภัยเพราะมันเป็นการข้ามการลบไฟล์

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


1
Pssst อีกครั้ง ... คุณควรทำจริงๆ
Armel Larcier

คำตอบ:


13

หมายเหตุเพิ่มเติมเกี่ยวกับปัญหานี้:

vanished fileไม่ควรทริกเกอร์เงื่อนไขIO error encountered -- skipping file deletionแต่มักจะเกิดขึ้นเมื่อคุณสร้างการสำรองข้อมูลของระบบสด

สิ่งนี้อยู่ภายใต้ข้อผิดพลาด rsync # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ) และควรได้รับการแก้ไขในการเปิดตัว 3.1.0

ในระหว่างนี้ให้ใช้:

--ignore-errors         delete even if there are I/O errors


2

คุณควรใช้ไฟล์ยกเว้นเพื่อrsyncไม่สนใจไฟล์ที่อ่านไม่ได้ รายการที่สามารถสร้างขึ้นด้วยfind . -exec test -r '{}'ในไดเรกทอรีแหล่งที่มาและจากนั้นนวดในรูปแบบไฟล์ยกเว้นrsyncต้องการ


จริง ๆ แล้วไดเรกทอรีต้นทางของฉันค่อนข้างใหญ่ (10-12GB) ดังนั้นทุกครั้งที่ค้นหาไฟล์ (ไม่ได้รับอนุญาตให้อ่าน) จะไม่มีประสิทธิภาพ คุณพูดอะไร?
XemX

เรียกใช้หนึ่งครั้งเพื่อสร้างรายการยกเว้นและไม่เรียกใช้อีกครั้งจนกว่าจะมีการเพิ่มไฟล์ใหม่ที่อ่านไม่ได้ทั้งกลุ่ม rsync กำลังทำทราเวิลของทรีเดียวกันดังนั้นจึงไม่ควรเลวร้ายขนาดนั้น
Kyle Jones

ใช่. แต่นั่นเป็นสิ่งที่สถานการณ์ของฉันเป็นเช่นนั้น ไดเรกทอรีต้นทางทุกวันอาจแนะนำไฟล์ดังกล่าว และฉันต้องการสำรองไฟล์ใหม่ไปยังเครื่องสำรอง
XemX

มีวิธีแก้ปัญหาสำหรับการทำงานนี้หรือไม่? ฉันยังใช้ rsync สำหรับการสำรองข้อมูลจากระบบสดและเมื่อมีข้อผิดพลาด I / O บนเครื่องอ่านไฟล์จะถูกลบในเครื่องเป้าหมายซึ่งไม่ควรเกิดขึ้น!
bzero
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.