วิธีใช้ Rsync เพื่อการถ่ายโอนไฟล์ระหว่างไดเร็กทอรีใน Linux อย่างมีประสิทธิภาพ

Withi Chi Rsync Pheux Kar Thay Xon Fil Rahwang Direkthxri Ni Linux Xyang Mi Prasiththiphaph



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

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







วิธีใช้ Rsync เพื่อการถ่ายโอนไฟล์ระหว่างไดเร็กทอรีใน Linux อย่างมีประสิทธิภาพ

มีหลายวิธีในการใช้ rsync ใน Linux ดังนั้นเราจะแบ่งส่วนนี้เพิ่มเติมเพื่ออธิบายการใช้งานในสถานการณ์ต่างๆ



การติดตั้ง Rsync



แม้ว่ายูทิลิตี้ rsync จะถูกติดตั้งไว้ล่วงหน้าในระบบ Linux ส่วนใหญ่ แต่คุณสามารถติดตั้งได้โดยการรันคำสั่งต่อไปนี้:





ซูโดะ ฉลาด ติดตั้ง rsync -และ



ตอนนี้ให้ตรวจสอบเวอร์ชัน rsync ที่ติดตั้งไว้

rsync --รุ่น



เมื่อเสร็จแล้ว ให้รันคำสั่งต่อไปนี้เพื่อเริ่มการซิงค์แหล่งที่มาและเป้าหมาย:



rsync -โอ แหล่งที่มา เป้า


    • แหล่งที่มาคือไดเร็กทอรีที่คุณต้องการซิงโครไนซ์ไฟล์
    • Target คือไดเร็กทอรีปลายทางที่คุณต้องการจัดเก็บไฟล์เหล่านั้น

การถ่ายโอนไฟล์ในเครื่อง

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

ซูโดะ rsync -ของ แหล่งที่มา_เส้นทาง / เป้าหมาย_เส้นทาง /

    • ตัวเลือก “-a” ย่อมาจาก archive ซึ่งจะรักษาคุณลักษณะของไฟล์ไว้ระหว่างการถ่ายโอน
    • “-v” ใช้สำหรับโหมดรายละเอียดซึ่งคุณสามารถดูไฟล์ที่กำลังถ่ายโอนได้

ตัวอย่างเช่น ใช้เพื่อคัดลอกไฟล์จากไดเร็กทอรี 'ดาวน์โหลด' ไปยังไดเร็กทอรี 'Document':

ซูโดะ rsync -ของ ~ / ดาวน์โหลด ~ / เอกสาร

การถ่ายโอนไฟล์ระยะไกล

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

rsync -ของ -มันคือ สช ผู้ใช้ @ รีโมท_โฮสต์: / เส้นทาง / ถึง / แหล่งที่มา / / เส้นทาง / ถึง / เป้า /


ด้วยตัวเลือก “-e ssh” คุณสามารถบอกให้ระบบใช้เชลล์ที่ปลอดภัยหรือ SSH โดยเฉพาะสำหรับการถ่ายโอนไฟล์นี้

ลบไฟล์ออกจากไดเรกทอรีเป้าหมาย (ซึ่งไม่มีอยู่ในแหล่งที่มา)

สมมติว่าคุณต้องการทำให้ทั้งสองไดเร็กทอรีเหมือนกันและมีไฟล์ที่คล้ายกัน ในกรณีนี้ คุณต้องลบไฟล์พิเศษ (ถ้ามี) ที่อยู่ในไดเร็กทอรีเป้าหมาย โชคดีที่ด้วย rsync คุณสามารถทำได้โดยใช้ตัวเลือก “– –delete” หากต้องการทราบวิธี ให้ทำตามคำสั่งต่อไปนี้:

rsync -ของ --ลบ / เส้นทาง / ถึง / แหล่งที่มา / / เส้นทาง / ถึง / เป้า /

ไม่รวมไฟล์ระหว่างการถ่ายโอน

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

rsync -ของ --ไม่รวม 'ชื่อไฟล์' / เส้นทาง / ถึง / แหล่งที่มา / / เส้นทาง / ถึง / เป้า /

ดรายรัน

เมื่อใช้ rsync สำหรับไดเร็กทอรีขนาดใหญ่ คุณควรทดลองใช้งานก่อน ด้วยวิธีนี้ ระบบจะสาธิตว่าคำสั่งนี้จะทำอะไรโดยไม่ต้องถ่ายโอนไฟล์ อย่างไรก็ตาม วิธีนี้จะช่วยป้องกันการโอนไฟล์ที่ไม่ต้องการได้ หากต้องการดำเนินการทดลองวิ่ง ให้ใช้ตัวเลือก “– –dry-run” ในคำสั่งต่อไปนี้:

rsync -ของ --dry-run / เส้นทาง / ถึง / แหล่งที่มา / / เส้นทาง / ถึง / เป้า /


ตัวอย่างเช่น ดำเนินการทดลองก่อนซิงโครไนซ์ไฟล์จากไดเรกทอรี 'ดาวน์โหลด' ไปยังไดเรกทอรี 'เอกสาร':

rsync -ของ --dry-run ~ / ดาวน์โหลด ~ / เอกสาร

แสดงตัวบ่งชี้ความคืบหน้า

เนื่องจากผู้ใช้บางรายต้องการให้มีตัวบ่งชี้ความคืบหน้าเพื่อดูความคืบหน้าของการถ่ายโอน คุณจึงสามารถเปิดใช้งานได้โดยใช้คำสั่งต่อไปนี้:

rsync -ของ --ความคืบหน้า แหล่งที่มา / เป้า /


จากตัวอย่างก่อนหน้านี้พร้อมกับตัวบ่งชี้ความคืบหน้า คุณจะได้ผลลัพธ์ตามที่แสดงในภาพต่อไปนี้:

บทสรุป

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