Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> สมาร์ทโฟน >> Linux

วิธีสร้างไฟล์ Tar แบบหลายส่วน (Multi-part) ใน Linux

คู่มือนี้สอนวิธีแบ่งไฟล์ขนาดใหญ่เป็นหลายไฟล์ .tar ขนาดเล็ก (เช่น 100 MB ต่อไฟล์) และวิธีรวมกลับคืน

สถานการณ์ใช้งาน

  • อัปโหลดไฟล์ใหญ่ไปยังที่เก็บข้อมูลออนไลน์ที่จำกัดขนาดไฟล์ (เช่น 100 MB/ไฟล์)
  • ส่งไฟล์ผ่านอีเมลหรือสื่อที่มีข้อจำกัดขนาด
  • เก็บสำรองข้อมูลบนสื่อที่มีขนาดจำกัด (DVD, USB เก่า)

คำสั่งแบ่งไฟล์ (Split)

# tar -cf - dbbackup.db | split -b 100m - db_backup.tar

อธิบายคำสั่ง

ผลลัพธ์

ได้ไฟล์: db_backup.taraa, db_backup.tarab, db_backup.tarac ... (ต่อเนื่อง aa, ab, ac...)

คำสั่งรวมไฟล์คืน (Join)

# cat db_backup.tara* | tar -x
  • cat db_backup.tara* - รวมไฟล์ทุกชิ้นตามลำดับอัลฟาเบต
  • | tar -x - แตก tar archive จาก stdin
  • ได้ไฟล์/โฟลเดอร์ dbbackup.db กลับมาเหมือนเดิม

คำสั่งทางเลือกอื่น (ใช้ split/join โดยตรง)

# แบ่งไฟล์ทั่วไป (ไม่ใช่ tar)
split -b 100m largefile.iso largefile.part

# รวม
cat largefile.part* > largefile.iso

เคล็ดลับ

  • ใช้ sha256sum ตรวจสอบ checksum ก่อน/หลังแบ่ง เพื่อยืนยันความสมบูรณ์
  • ตั้งชื่อ prefix ให้ชัดเจน รวมวันที่/เวอร์ชัน: backup_20240115.tar
  • สคริปต์อัตโนมัติได้ด้วย Cron สำหรับแบ็คอัปประจำวัน

วิธีนี้ใช้ได้กับไฟล์ทุกประเภท ไม่จำเป็นต้องเป็น database เท่านั้น

ส่วนคำอธิบาย
tar -cf -สร้าง tar archive ส่งออก stdout (-) แทนไฟล์
dbbackup.dbไฟล์/โฟลเดอร์ต้นทางที่ต้องการแบ่ง
split -b 100mแบ่งขนาด 100 MB ต่อชิ้น (ใช้ m=MB, k=KB, g=GB)
-อ่านจาก stdin (มาจาก pipe)
db_backup.tarPrefix ชื่อไฟล์เอาต์พุต