ฉันใช้ 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
ขอบคุณสำหรับความคิดและเวลาของคุณ ฉันขอขอบคุณที่คุณช่วยครั้งใหญ่
อัปเดต:ฉันได้เรียนรู้ว่า rsnapshot ไม่ได้ใช้ symlinks เป็นการใช้ hardlinks ดังนั้นตอนนี้ฉันใช้ตัวเลือก -H ซึ่งควรรักษาโครงสร้าง hardlink ตามRsnapshot ไปยังหลาย ๆ ปลายทาง (หรือบำรุงรักษาโครงสร้างของลิงก์ที่ยาก)แต่ก็ยังใช้งานไม่ได้ ... ฉันกำลังพลาดอะไรอยู่ที่นี่?
อัปเดต 2:ฉันพบความเห็น / คำสั่งอื่นในหัวข้อนี้ที่นี่: rsync กับ --hard-links ค้าง Steven Steven แนะนำว่าไม่พยายาม rsync โครงสร้างไฟล์ขนาดใหญ่ที่มีฮาร์ดลิงก์เนื่องจากมันดูดซับหน่วยความจำจำนวนมากและเป็นงานที่ยากสำหรับ rsync ดังนั้นอาจเป็นทางออกที่ดีกว่าคือการสร้าง. img ของโครงสร้างข้อมูลที่ฉันพยายามสำรอง คุณคิดอย่างไร?