ฉันใช้rsync (1)เพื่ออัปเดตที่เก็บ debian ท้องถิ่น เมื่อเร็ว ๆ นี้ดิสก์ที่ฉันใช้เพื่อเก็บมันเริ่มมีพื้นที่เหลือน้อยดังนั้นฉันจึงตัดสินใจใช้ symlinks เพื่อให้ฉันย้ายบางไดเรกทอรีไปยังดิสก์ขนาดใกล้เคียงกัน
น่าเสียดายที่ดูเหมือนว่า rsync กำลังลบ symlink และเติมดิสก์เกือบเต็ม หลังจากการค้นหาบางอย่างฉันค้นพบ--keep-dirlinks
ตัวเลือกในการ rsync ซึ่งดูเหมือนจะปรับแต่งเพื่อแก้ไขปัญหาของฉัน
ไม่เพียงเท่านั้น symlink บนเป้าหมายยังคงถูกลบอยู่
นี่คือคำสั่ง rsync ของฉัน:
rsync --recursive --keep-dirlinks --links --hard-links --times --verbose \
--delete --delete-excluded $EXCLUDE $SOURCE_EXCLUDE \
$RSYNC_HOST::$RSYNC_DIR/pool/ $TO/pool/
--exclude binary-alpha/ --exclude disks-alpha ...
ไม่รวมขยายออกไปกำจัดจำนวนมากของสถาปัตยกรรมที่ฉันไม่ได้สนใจในตามสายของ ก่อนที่ rsync จะเปิดตัวไดเรกทอรีพูลของฉันจะเป็นดังนี้:
lrwxrwxrwx 1 root root 23 2014-09-22 13:58 contrib -> /u2/debian/pool/contrib
drwxrwxr-x 62 root root 4096 2012-04-09 03:02 main
lrwxrwxrwx 1 root root 24 2014-09-22 13:58 non-free -> /u2/debian/pool/non-free
เมื่อ rsync เริ่มทำงานฉันได้รับสิ่งนี้:
receiving incremental file list
deleting non-free
deleting contrib
./
contrib/
contrib/a/
และอื่น ๆ และ symlink จะถูกแทนที่ด้วยไดเรกทอรีที่เต็มไปด้วยไฟล์
ตัวเลือก rsync อื่น ๆ รบกวน--keep-dirlinks
บ้างหรือไม่? ฉันไม่สามารถรวมรายการใดได้บ้าง หรือว่าเป็นตัวเลือกที่ทำให้เกิดปัญหาของฉัน