วิธีคัดลอกไดเรกทอรีและไฟล์ด้วยคำสั่ง rsync บน Linux

ใช้คำสั่ง rsync Linux เพื่อคัดลอกโฟลเดอร์ / ไฟล์จากบรรทัดคำสั่ง

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

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

rsync ตัวอย่าง

การใช้คำสั่ง rsync อย่างถูกต้องกำหนดให้คุณทำตาม ไวยากรณ์ที่ ถูกต้อง:

[SRC] ... [SRC] ... [SRC] ... [SRC] ... [SRC] ... [SRC] ... [SRC] ... [REST] USER @] HOST :: DEST rsync [OPTION] ... [SRC] ... rsync: // [USER @] HOST [: PORT] / DEST rsync [OPTION] ... [USER @] HOST: SRC [ DEST] rsync [OPTION] ... [USER @] HOST :: SRC [DEST] rsync [OPTION] ... rsync: // [USER @] HOST [: PORT] / SRC [DEST]

พื้นที่ ตัวเลือกที่ ให้ไว้ข้างต้นสามารถเต็มไปด้วยหลายสิ่ง ดูส่วน สรุป OPTIONS SUMMARY ของหน้าเอกสาร rsync สำหรับรายการแบบเต็ม

นี่เป็นเพียงตัวอย่างบางส่วนของวิธีการใช้ rsync กับบางตัวเลือกเหล่านี้:

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

rsync /home/jon/Desktop/data/*.jpg / home / jon / เดสก์ท็อป / ข้อมูลสำรอง /

ในตัวอย่างข้างต้นไฟล์ JPG ทั้งหมดจากโฟลเดอร์ / data / จะถูกคัดลอกไปยัง / backupdata / โฟลเดอร์ในโฟลเดอร์ Jon's Desktop ของผู้ใช้

rsync --max-size = 2k / home / jon / เดสก์ท็อป / ข้อมูล / home / jon / เดสก์ท็อป / สำรองข้อมูล /

ตัวอย่างของ rsync มีความซับซ้อนมากกว่านี้เนื่องจากมีการตั้งค่าเพื่อ ไม่ คัดลอกไฟล์หากมีขนาดใหญ่กว่า 2,048 KB นั่นคือเพื่อคัดลอกไฟล์ที่มีขนาดเล็กกว่าขนาดที่ระบุเท่านั้น คุณสามารถใช้ k, m หรือ g เพื่อระบุกิโลไบต์เมกะไบต์และกิกะไบต์ในตัวคูณ 1,024 ตัวหรือ kb , mb หรือ gb เพื่อใช้ 1,000

rsync --min-size = 30 mb / home / jon / เดสก์ท็อป / ข้อมูล / home / jon / เดสก์ท็อป / สำรองข้อมูล /

เช่นเดียวกันคุณสามารถทำได้สำหรับ - มินิสเกล ตามที่เห็นข้างต้น ในตัวอย่างนี้ rsync จะคัดลอกไฟล์ที่มีขนาด 30 MB หรือใหญ่เท่านั้น

rsync --min-size = 30mb --progress / home / jon / เดสก์ท็อป / ข้อมูล / home / jon / เดสก์ท็อป / สำรองข้อมูล /

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

rsync --recursive / home / jon / เดสก์ท็อป / ข้อมูล / home / jon / เดสก์ท็อป / ข้อมูล 2

ตัวเลือก --recursive ให้วิธีง่ายๆในการคัดลอกโฟลเดอร์ทั้งหมดไปยังตำแหน่งอื่นเช่นไปที่โฟลเดอร์ / data2 / ในตัวอย่างของเรา

rsync -r --exclude = "* .deb " / home / jon / เดสก์ท็อป / ข้อมูล / home / jon / เดสก์ท็อป / ข้อมูลสำรอง

นอกจากนี้คุณยังสามารถคัดลอกทั้งโฟลเดอร์ยกเว้นไฟล์ที่มี นามสกุลไฟล์ บางอย่างเช่นไฟล์ DEB ในตัวอย่างข้างต้น ขณะนี้ข้อมูลทั้งหมด / โฟลเดอร์ถูกคัดลอกไปยัง / backupdata / like ในตัวอย่างก่อนหน้านี้ แต่ไฟล์ DEB ทั้งหมดจะถูกคัดลอกออกจากสำเนา