Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีใช้ rsync เพื่อคัดลอกไฟล์และโฟลเดอร์ใน Linux

ข้อควรรู้

  • คัดลอกตามประเภทไฟล์: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 ทั้งหมดไม่รวมอยู่ในสำเนา