Hướng dẫn sử dụng lệnh “tar” để sao lưu và khôi phục dữ liệu trên Linux
Lệnh tar là một công cụ mạnh mẽ trên Linux dùng để nén và giải nén tệp tin, rất hữu ích trong việc sao lưu và khôi phục dữ liệu. Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh tar để thực hiện các thao tác này.
Cấu Trúc Lệnh Tar
Cấu trúc cơ bản của lệnh tar như sau:
tar [option] [archive-name] [files or directories]
Giải thích các tùy chọn:
- -c: Tạo một archive mới.
- -x: Giải nén từ archive.
- -t: Hiển thị danh sách các tệp trong archive.
- -r: Thêm tệp vào archive.
- -W: Kiểm tra tính toàn vẹn của archive.
- -z: Nén archive với gzip.
- -j: Nén archive với bzip2.
- -v: Hiển thị thông tin chi tiết.
- -f: Chỉ định tên file archive.
1️⃣ Tạo Tệp Sao Lưu (Backup) Với Lệnh Tar
Để tạo một tệp sao lưu, bạn cần xác định các tệp và thư mục cần sao lưu. Giả sử bạn muốn sao lưu các thư mục /home, /etc và /opt. Bạn có thể sử dụng lệnh sau:
tar -cvpf system-back.tar /home /etc /opt
Trong lệnh này, chúng ta sử dụng các tùy chọn sau:
- c: Tạo archive mới.
- v: Hiển thị thông tin chi tiết khi tạo archive.
- f: Tên tệp archive.
- p: Giữ lại quyền truy cập của tệp (permissions).
Lưu ý: Nếu bạn muốn nén tệp sao lưu, có thể sử dụng gzip hoặc bzip2 để nén.
Tạo Sao Lưu Với Gzip (Nén .tar.gz)
Để nén tệp sao lưu bằng gzip, sử dụng tùy chọn -z:
tar -zcvpf system-back.tgz /home /etc /opt
Tạo Sao Lưu Với Bzip2 (Nén .tar.bz2)
Để nén tệp sao lưu bằng bzip2, sử dụng tùy chọn -j:
tar -jcvpf system-back.tbz2 /home /etc /opt
2️⃣ Thêm Tệp Vào Sao Lưu Tar
Để thêm một tệp vào sao lưu hiện có, sử dụng tùy chọn -r:
tar -rvf system-back.tar /root/vmoncloud.txt
Lưu ý: Bạn không thể thêm tệp vào archive đã nén (gzip hoặc bzip2).
3️⃣ Loại Bỏ Tệp Khi Tạo Sao Lưu
Nếu bạn muốn loại bỏ một số tệp khi tạo sao lưu, sử dụng tùy chọn -X với một file chứa danh sách các tệp cần loại bỏ.
Ví dụ, tạo file exclude.txt với nội dung:
/etc/debconf.conf
/etc/hosts
Sử dụng lệnh sau để loại bỏ các tệp trong exclude.txt khi sao lưu thư mục /etc:
tar -X vmoncloud.txt -zcpvf etc-backup.tgz /etc
4️⃣ Xem Nội Dung Của Sao Lưu Tar
Để xem nội dung của một tệp sao lưu, sử dụng tùy chọn -t:
tar -tvf system-back.tgz
Nếu bạn chỉ muốn tìm kiếm một tệp cụ thể trong archive, bạn có thể kết hợp với grep:
tar -tvf system-back.tgz | grep -i etc/fstab
5️⃣ Giải Nén Tệp Sao Lưu Tar
Để giải nén một tệp sao lưu, sử dụng tùy chọn -x:
tar -xpvf system-back.tgz
Lệnh trên sẽ giải nén tệp system-back.tgz vào thư mục hiện tại. Nếu bạn muốn giải nén vào thư mục khác, sử dụng tùy chọn -C:
tar -xpvf system-back.tgz -C /var/tmp/
6️⃣ Kiểm Tra Tính Toàn Vẹn Của Tệp Sao Lưu Tar
Để kiểm tra tính toàn vẹn của một tệp sao lưu tar, sử dụng tùy chọn -t. Nếu không có thông báo nào xuất hiện, nghĩa là tệp sao lưu không bị hỏng:
tar -tf system-back.tar > /dev/null
Để kiểm tra các tệp sao lưu đã nén (gzip hoặc bzip2), sử dụng các lệnh sau:
Với tệp .tar.gz hoặc .tgz:gunzip -c system-back.tgz | tar -t > /dev/null
Với tệp .tar.bz2 hoặc .tbz2:tar -tvf system-back.tbz2 > /dev/null
Nếu có lỗi, bạn sẽ nhận được thông báo lỗi hoặc đầu ra, cho thấy tệp sao lưu có thể đã bị hỏng.
Kết Luận
Bài viết trên đã hướng dẫn bạn cách sử dụng lệnh tar để sao lưu và khôi phục dữ liệu trên Linux. Bạn có thể tạo các bản sao lưu đầy đủ, thêm tệp vào archive, loại bỏ các tệp không cần thiết, và kiểm tra tính toàn vẹn của sao lưu. Hy vọng rằng các lệnh và ví dụ trên sẽ giúp bạn thực hiện sao lưu và khôi phục dữ liệu một cách dễ dàng và hiệu quả trên hệ thống Linux của mình.