โฮมเพจ » ทำอย่างไร » วิธียกเว้นไฟล์จาก Rsync

    วิธียกเว้นไฟล์จาก Rsync

    Rsync เป็นหนึ่งในโปรแกรมอรรถประโยชน์ที่มีประโยชน์มากที่สุดสำหรับผู้ดูแลเซิร์ฟเวอร์ แต่มันจะซิงค์ ทุกอย่าง โดยค่าเริ่มต้นซึ่งอาจสร้างความรำคาญหากแอปพลิเคชันของคุณสร้างไฟล์ชั่วคราวจำนวนมาก ต่อไปนี้เป็นวิธีแยกไฟล์เมื่อใช้ rsync.

    ไม่รวมอยู่ในรายการในไฟล์

    นี่เป็นวิธีที่เหมาะสำหรับการยกเว้นไฟล์และโฟลเดอร์เนื่องจากคุณสามารถแก้ไขรายการและปรับแต่งสิ่งต่าง ๆ ได้หากจำเป็น นี่คือไวยากรณ์:

    rsync --ยกเว้นจาก = / เส้นทาง / เพื่อ / ยกเว้นไฟล์ / path / to / source / path / to / dest

    สิ่งที่ยุ่งยากกับ rsync คือคุณต้องใช้เส้นทางสัมพัทธ์เมื่อคุณพยายามแยกสิ่งต่าง ๆ เพราะเมื่อมันพยายามจับคู่การยกเว้นมันจะไม่ใช้ส่วนแรกของเส้นทางสำหรับการแข่งขัน…มันแปลก.

    ตัวอย่างเช่นคุณกำลังพยายามสำรอง / data / web / และส่งไปยังเซิร์ฟเวอร์อื่นดังนั้นคุณจึงใช้คำสั่งเช่น rsync -a / data / web / user @ server: / backups / data / web / เพื่อให้มัน เกิดขึ้น ... แต่คุณต้องการข้ามการซิงค์ / data / web / cache / โฟลเดอร์ เมื่อ rsync ไปตรวจสอบรายการการแยกของคุณสำหรับแต่ละรายการที่ซิงค์มันจะไม่ตรวจสอบ / data / web / cache / เนื่องจากคำสั่ง rsync ดั้งเดิมของคุณนั้นอยู่ใน / data / web / โฟลเดอร์ มันจะตรวจสอบ“ แคช /” กับรายการ ดังนั้นคุณจะต้องใส่ "แคช" ลงในรายการไม่ใช่เส้นทางแบบเต็ม ตัวอย่าง:

    rsync -a --exclude-from = / data / exclusions / data / web / / backups /

    ตอนนี้เพื่อแยก / data / web / cache และ / data / web / temp จาก rsync โดยใช้คำสั่งนี้เราจะลบ / data / web / ส่วนของเส้นทางและไฟล์ / data / exclusions จะประกอบด้วย:

    แคช * อุณหภูมิ *

    คุณจะทราบว่าฉันเพิ่ม * ลงในเส้นทางเพื่อให้แน่ใจว่าตรงกับสิ่งที่ขึ้นต้นด้วย“ แคช” ที่จุดเริ่มต้น คุณสามารถใช้รูปแบบดาวนี้เพื่อเหตุผลที่มีประโยชน์มากขึ้นถ้าคุณต้องการ - บอกว่าคุณต้องการยกเว้นไฟล์. txt ทั้งหมดไม่ให้ซิงค์ คุณต้องการเริ่มต้นรูปแบบกับดาวเพื่อให้แน่ใจว่าตรงกันเสมอและเพิ่มสิ่งนี้:

    * .txt

    เพื่อให้แน่ใจว่าไฟล์ประเภทเหล่านั้นจะถูกข้ามระหว่างการซิงค์ มันค่อนข้างง่ายกว่านั้น.

    ไม่รวมรายการเดียว

    เทคนิคนี้มีประโยชน์น้อยกว่ามาก แต่คุณสามารถใช้งานได้ทันทีหากคุณต้องการ หากคุณกำลังตั้งค่าสคริปต์ให้ใช้ rsync ซึ่งโดยปกติคุณควรใช้เวลาเพิ่มอีกหนึ่งนาทีเพื่อแยกออกจากรายการไฟล์แทนเพื่อให้การบำรุงรักษาในอนาคตง่ายขึ้น ไวยากรณ์คล้ายกันมาก:

    rsync --exclude = ความสัมพันธ์ / พา ธ / ไปยัง / การแยก / แหล่งที่มา / ปลายทาง

    เส้นทางสัมพัทธ์เดียวกันควรใช้ที่นี่เหมือนด้านบน.