การสำรองข้อมูล เป็นหัวใจสำคัญของการดูแลระบบ โดยเฉพาะในโลกของ Linux และ Unix-like systems ซึ่งหนึ่งในเครื่องมือที่คลาสสิกและทรงพลังที่สุดก็คือ Tarball ครับ
Tarball คืออะไร ?
Tarball คือไฟล์ที่เกิดจากการรวมเอาไฟล์และโฟลเดอร์หลาย ๆ อันเข้าด้วยกันเป็นไฟล์เดียว เพื่อความสะดวกในการเคลื่อนย้ายหรือเก็บรักษา ชื่อของมันมีที่มาจากคำว่า .tar ย่อมาจาก Tape ARchive
โดยทั่วไป Tarball มักจะมาพร้อมกับการบีบอัดข้อมูล เพื่อให้มีขนาดเล็กลง เราจึงมักเห็นนามสกุลไฟล์ยอดฮิตอย่าง .tar.gz หรือ .tar.bz2
ทำไมต้องใช้ Tarball ?
- รักษาโครงสร้าง : ต่างจากการ copy ปกติ เพราะ tar สามารถเก็บรักษา Permissions , เจ้าของไฟล์ และโครงสร้าง Directory ไว้ได้ครบถ้วน
- ความสะดวก: แทนที่จะส่งไฟล์ 1,000 ไฟล์ผ่าน Network การส่งไฟล์เดียวที่บีบอัดแล้วจะเร็วกว่ามาก
- ความยืดหยุ่น: รองรับการบีบอัดหลายรูปแบบตามความต้องการ
คำสั่งพื้นฐานที่ต้องรู้
โครงสร้างคำสั่งของ tar มักจะประกอบด้วย tar [ตัวเลือก] [ชื่อไฟล์ที่ต้องการสร้าง] [สิ่งที่ต้องการนำมาใส่]
| คำสั่ง | ความหมาย |
-c | สร้างไฟล์ Archive ใหม่ |
-x | แตกไฟล์ออกจาก Archive |
-v | แสดงรายชื่อไฟล์ที่กำลังประมวลผล |
-f | ระบุชื่อไฟล์ |
-z | บีบอัดด้วย gzip |
-j | บีบอัดด้วย bzip2 |
วิธีใช้งานในสถานการณ์จริง
การสร้าง Tarball
สมมติว่าคุณต้องการสำรองไฟล์ Configuration หรือโฟลเดอร์งานสำคัญก่อนทำการอัปเดตระบบtar -cvzf backup_config.tar.gz /etc/nginx/conf.d
คำอธิบาย: สร้างไฟล์ชื่อ backup_config.tar.gz โดยรวมเอาโฟลเดอร์ config ของ nginx เข้าไปและบีบอัดแบบ gzip
การแตกไฟล์
เมื่อต้องการนำข้อมูลกลับมาใช้tar -xvzf backup_config.tar.gz -C /target/directory
คำอธิบาย: แตกไฟล์ไปยัง Folder ที่ระบุ
การดูเนื้อหาข้างในโดยไม่แตกไฟล์
บางครั้งเราแค่ต้องการเช็คว่าข้างในมีอะไรบ้างtar -tvf backup_config.tar.gz
อ่านเพิ่มเติม