ข้อควรรู้
- คัดลอกตามประเภทไฟล์:rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/
- คัดลอกตามขนาดไฟล์:rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
- คัดลอกทั้งโฟลเดอร์:rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2
บทความนี้อธิบายวิธีใช้ rsync โปรแกรมถ่ายโอนไฟล์สำหรับ Linux เพื่อคัดลอกไดเร็กทอรีและไฟล์ และแม้แต่แยกไฟล์ออกอย่างเป็นระบบ ด้วยเหตุนี้ มันจึงสำรองไฟล์ที่มีไว้สำหรับเก็บถาวรในขณะที่หลีกเลี่ยงทุกอย่างอื่น
ไวยากรณ์คำสั่ง
การใช้ rsync คำสั่งอย่างถูกต้องกำหนดให้คุณปฏิบัติตามไวยากรณ์ที่ถูกต้อง:
rsync [OPTION]... [SRC]... [DEST]
rsync [OPTION]... [SRC]... [USER@]HOST:DEST
rsync [OPTION]... [SRC]... [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]
สวิตช์ตัวเลือกที่ใช้กันทั่วไป ได้แก่:
- -v , --verbose :เพิ่มความฟุ่มเฟือย (ให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่คำสั่งกำลังทำ)
- --info=FLAGS :ให้ข้อความแสดงรายละเอียด
- --debug=FLAGS :แสดงข้อความแก้ไขข้อบกพร่องโดยละเอียด
- --msgs2stderr :การจัดการเอาต์พุตพิเศษสำหรับการดีบัก
- -q , --เงียบ :ระงับข้อความที่ไม่แสดงข้อผิดพลาด
- --no-motd :ระงับข้อความโหมดภูตของวันนี้
- -c , --checksum :ข้ามไฟล์ตามเช็คซัม ไม่ใช่เวลาม็อดและขนาด
- -r , --recursive :เรียกดูไดเรกทอรีย่อยสำหรับไฟล์เพิ่มเติม
- -b , --สำรองข้อมูล :ทำการสำรองข้อมูล
- --backup-dir=DIR :ทำการสำรองข้อมูลในลำดับชั้นไดเรกทอรีที่ตรงกัน
- --suffix=SUFFIX :เพิ่มข้อความต่อท้ายที่ส่วนท้ายของไฟล์ที่สำรองไว้
- -d , --dirs :ถ่ายโอนเฉพาะไดเร็กทอรีโดยไม่ต้องเรียกดูภายในไดเร็กทอรี
ตัวอย่างคำสั่ง
ใช้ rsync ด้วยตัวเลือกเหล่านั้นเพื่อปรับกลยุทธ์การสำรองข้อมูลของคุณอย่างละเอียด
เลือกคัดลอกตามประเภทไฟล์
rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/
ในตัวอย่างนี้ ไฟล์ JPG ทั้งหมดจาก /data/ คัดลอกโฟลเดอร์ไปที่ /backupdata/ โฟลเดอร์บน เดสก์ท็อป . ของผู้ใช้ Jon โฟลเดอร์
การคัดลอกไฟล์ตามขนาด
rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
rsync นี้ ตัวอย่างจะซับซ้อนกว่าเล็กน้อยเนื่องจากตั้งค่าเป็น ไม่ คัดลอกไฟล์หากมีขนาดใหญ่กว่า 2,048 KB คัดลอกเฉพาะไฟล์ที่มีขนาดเล็กกว่าขนาดที่กำหนดเท่านั้น
ใช้ k, m, หรือ g เพื่อระบุกิโลไบต์ เมกะไบต์ และกิกะไบต์ในตัวคูณ 1,024 หรือ kb , mb , หรือ gb ใช้ 1,000.
rsync --min-size=30mb /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
สามารถทำได้เช่นเดียวกันสำหรับ --min-size , ด้วย. ในตัวอย่างนี้ rsync จะคัดลอกเฉพาะไฟล์ที่มีขนาดไม่เกิน 30 MB
rsync --min-size=30mb --progress /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/
ใช้ --ความคืบหน้า ตัวเลือกเพื่อดูกระบวนการทำงานได้ถึง 100 เปอร์เซ็นต์ ซึ่งสะดวกเมื่อคุณคัดลอกไฟล์ขนาดใหญ่มาก
คัดลอกทั้งโฟลเดอร์
rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2
--เรียกซ้ำ ตัวเลือกให้วิธีง่ายๆ ในการคัดลอกทั้งโฟลเดอร์ไปยังตำแหน่งอื่น เช่นไปที่ /data2/ โฟลเดอร์ตามตัวอย่างด้านบน
คำสั่งนี้จะคัดลอกทั้งโฟลเดอร์และเนื้อหาทั้งหมดไปยังตำแหน่งใหม่
ยกเว้นบางไฟล์
rsync -r --exclude="*.deb" /home/jon/Desktop/data /home/jon/Desktop/backupdata
คัดลอกทั้งโฟลเดอร์แต่ไม่รวมไฟล์ที่มีนามสกุลไฟล์บางอย่าง เช่น ไฟล์ DEB ในตัวอย่างนี้ด้านบน ทั้ง /data/ โฟลเดอร์ถูกคัดลอกไปที่ /backupdata/ ดังในตัวอย่างที่แล้ว แต่ไฟล์ DEB ทั้งหมดไม่รวมอยู่ในสำเนา