Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Nén và giải nén tar

ICT

1. Tổng quan về tar

tar (Tape ARchive) là công cụ chuẩn trên Linux/Unix dùng để:

  • Gom nhiều file/thư mục thành một file archive

  • Kết hợp với các thuật toán nén phổ biến như gzip, bzip2, xz

  • Phục vụ các mục đích: backup, đóng gói mã nguồn, triển khai hệ thống

Lưu ý quan trọng:

tar không nén dữ liệu theo đúng nghĩa, mà chỉ đóng gói. Việc nén xảy ra khi kết hợp với gzip/bzip2/xz.


2. Cú pháp cơ bản của tar

 
tar [options] [archive-file] [files/directories]

Các nhóm option thường gặp:

  • Action: tạo, giải nén, liệt kê

  • Compression: gzip, bzip2, xz

  • Verbosity: hiển thị chi tiết


3. Tạo file tar (không nén)

3.1. Nén (đóng gói) một thư mục

 
tar -cvf data.tar /path/to/data

Giải thích:

  • c : create (tạo archive)

  • v : verbose (hiển thị file đang xử lý)

  • f : file (chỉ định tên file tar)

3.2. Nén nhiều file/thư mục

 
tar -cvf backup.tar file1 file2 dir1

4. Giải nén file tar (không nén)

 
tar -xvf data.tar
  • x : extract (giải nén)

Giải nén vào thư mục chỉ định

tar -xvf data.tar -C /opt/restore

5. Tar kết hợp gzip (.tar.gz / .tgz)

5.1. Tạo file tar.gz

tar -czvf data.tar.gz /path/to/data
  • z : dùng gzip

5.2. Giải nén tar.gz

tar -xzvf data.tar.gz

Hoặc:

tar -xzvf data.tgz

6. Tar kết hợp bzip2 (.tar.bz2)

6.1. Tạo file tar.bz2

tar -cjvf data.tar.bz2 /path/to/data
  • j : dùng bzip2

6.2. Giải nén tar.bz2

tar -xjvf data.tar.bz2

7. Tar kết hợp xz (.tar.xz)

7.1. Tạo file tar.xz (nén mạnh nhất)

tar -cJvf data.tar.xz /path/to/data
  • J : dùng xz

7.2. Giải nén tar.xz

tar -xJvf data.tar.xz

8. Liệt kê nội dung file tar (không giải nén)

tar -tvf data.tar tar -tzvf data.tar.gz

Rất hữu ích khi:

  • Kiểm tra backup

  • Xác minh cấu trúc file trước khi restore


9. Nén loại trừ thư mục/file

Ví dụ: loại trừ thư mục cache

tar -czvf backup.tar.gz /var/www \  --exclude=/var/www/cache \  --exclude=*.log 

10. Backup hệ thống thực tế với tar

10.1. Backup website Drupal (code + cấu hình)

tar -czvf drupal_code_$(date +%F).tar.gz \ /var/www/drupal \ --exclude=sites/default/files/tmp

10.2. Backup cấu hình hệ thống Linux

tar -czvf etc_backup_$(date +%F).tar.gz /etc

11. Một số lưu ý quan trọng

  1. Thứ tự option trong tar quan trọng
    -czvf khác với -zcvf (nên giữ chuẩn)

  2. Không dùng tar trực tiếp với database đang chạy
    → Với MySQL/PostgreSQL phải dump trước (mysqldump, pg_dump)

  3. Luôn kiểm tra file backup

tar -tzf backup.tar.gz > /dev/null
  1. Kết hợp tar + rsync + cron cho hệ thống backup chuyên nghiệp


12. Bảng tổng hợp nhanh

Định dạngTạoGiải nén
.tartar -cvftar -xvf
.tar.gztar -czvftar -xzvf
.tar.bz2tar -cjvftar -xjvf
.tar.xztar -cJvftar -xJvf