Lênh dd back up dữ liệu linux

Sao lưu dữ liệu trên máy tính cá nhân hoặc máy chủ rất quan trọng vì ngăn ngừa việc mất dữ liệu. Chúng ta có thể sao lưu dữ liệu hoặc toàn bộ hệ thống của bạn.

Có nhiều cách sao lưu dữ liệu. Các cách cơ bản đó là sao chép dữ liệu dùng cp , cách mạnh hơn việc sao chép dùng rsync.

Cả hai cách trên được sử dụng để đồng bộ hóa toàn bộ cây thư mục. Tuy nhiên, rsync hiệu quả hơn vì nó kiểm tra tệp được sao chép có tồn tại chưa. Nếu tệp đã tồn tại và không có sự thay đổi về kích thước hoặc thời gian sửa đổi rsync sẽ không sao chép để tiết kiệm thời gian. Rsync chỉ sao chép các phần của tệp đã thực sự thay đổi nên thể rất nhanh.

rsync hiệu quả khi sao chép đệ quy một cây thư mục này sang cây khác, bởi vì chỉ có sự khác biệt được truyền qua mạng. Người ta thường đồng bộ cây thư mục đích với nguồn gốc, sử dụng tùy chọn -r để đệ quy xuống cây thư mục sao chép tất cả các tệp và thư mục bên dưới tệp được liệt kê dưới dạng nguồn.

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
4 có thể sao chép tệp đến và từ đích trên máy cục bộ [trừ khi bạn sao chép vào hoặc từ hệ thống tệp được gắn bằng NFS], nhưng rsync cũng có thể được sử dụng để sao chép tệp từ máy này sang máy khác.

2. Lệnh rsync

Rsync là tiện ích sao lưu dữ liệu mạnh mẽ:

rsync options source destination

Trong đó:

  • Source : là dữ liệu nguồn
  • Destination: là dữ liệu đích
  • Options: các tuỳ chọn kèm theo

Ta có thể xem thêm các tuỳ chọn ở lệnh:

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
5

Một số tuỳ chọn thường dùng:

  • rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
    
    6: hiển thị trạng thái kết quả.
  • rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
    
    7: copy dữ liệu recursively, nhưng không đảm bảo thông số của file và thư mục.
  • rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
    
    8: nén dữ liệu khi transfer, tiết kiệm băng thông tuy nhiên tốn thêm một chút thời gian.
  • rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
    
    9: human-readable, output kết quả dễ đọc.
  • gzip *
    
    0: xóa dữ liệu ở destination nếu source không tồn tại dữ liệu đó.

Lưu ý: Chỉ dùng --delete khi bạn chắc chắn rằng "source" và "destination" đều đúng, nhất là về vị trí, nếu bạn để sai vị trí hoặc sai tên thư mục thì có thể dẫn đến mất dữ liệu toàn bộ khi dùng rsync!

Ví dụ: copy thư mục rpmpkgs trong thư mục root xem /tmp/backups/ trên local:

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/

Câu lệnh trên sẽ copy toàn bộ file từ thư mục /root/rpmpkgs đến thư mục /tmp/backups/ trên cùng 1 máy tính.

Ví dụ: copy thư mục rpmpkgs từ local lên server có địa chỉ IP 192.168.21.145 vào thư mục /home:

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
3. Nén dữ liệu

Dữ liệu thường được nén để tiết kiệm dung lượng đĩa và để làm giảm thời gian truyền qua mạng.

Hệ điều hành Linux dùng một sớ phương pháp để nén:

CommandTác dụnggzipTiện ích được dùng thường xuyên nhất trong hệ điều hành Linux.bzip2Tạo các tệp nhỏ hơn so với tệp tạo bằng gzip.xzTiện ích nén hiểu quả về không gian nhất trong hệ điều hành Linux.zipDùng để kiểm tra giải nén tài liệu lưu trữ từ các hệ điều hành khác.

Các kỹ thuật này khác nhau về hiệu quả của việc nén [tiết kiệm được bao nhiêu dung lượng] và thời gian để nén. Các kỹ thuật hiệu quả hơn thì mất nhiều thời gian hơn. Thời gian giải nén không thay đổi nhiều qua các phương pháp khác nhau.

Ngoài ra, tiện ích tar thường được sử dụng để nhóm các tệp trong kho lưu trữ và sau đó nén toàn bộ kho lưu trữ cùng một lúc.

3.1. Nén dữ liệu bằng gzip

Gzip là tiện ích được sữ dụng thường xuyên vì nó nén tốt và rất nhanh.

3.1.1. Một số ví dụ về gzip

gzip *

Dùng để nén tất cả các tệp trong thư mục hiện hành, các tệp được nén và đổi tên phần mở rộng .gz.

gzip -r projectX

Nén tất cả các tệp có trong thư mục projectX và cùng với tất cả các tệp trong tất cả thư mục trong projectX.

gunzip foo

Để giải nén foo tìm thấy trong các tập tin foo.gz. lệnh gunzip giống như gzip. Để giải nén file gzip ta dùng lệnh:

gzip -d filename

3.2. Nén dữ liệu bằng bzip2

bzip2 có cú pháp như gzip nhưng nó sử dụng thuật toán nén khác nhau và tạo ra các tệp nhỏ hơn, và mất nhiều thời gian hơn để thực hiện công việc của nó. Vì vậy, nó được sử dụng để nén các tệp lớn hơn.

3.2.1. Một số ví dụ về bzip2

bzip2 *

Dùng để nén tất cả các tệp trong thư mục hiện hành, các tệp được nén và đổi tên phần mở rộng .bz2.

bunzip2 *.bz2

Giải nén tất cả các tệp có phần mở rộng là .bz2 trong thư mục hiện tại. và bunzip2 giống như bzip2 -d.

3.3. Nén dữ liệu bằng xz

xz là tiện ích nén hiệu quả nhất về không gian được sử dụng trong Linux và hiện được sử dụng lưu trữ tài liệu của nhân Linux.

3.3.1. Một số ví dụ về xz:

xz *

Dùng để nén tất cả các tệp trong thư mục hiện hành, các tệp được nén và đổi tên phần mở rộng .xz.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
0

Nén tệp foo vào foo.xz bằng mức nén mặc định [-6] và xoá foo nếu nén thành công.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
1

Giải nén bar.xz thành bar và không xoá bar.xz khi giải nén thành công.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
2

Giải nén các tệp nén và không nén thành đầu ra tiêu chuẩn sự dụng lệnh duy nhất.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
3

Giải nén các tệp được nén bằng xz

3.4. Nén dữ liệu bằng zip

zip là chương trình không thường được sử dụng để nén các file trong Linux, nhưng để kiểm tra và giải nén tài liệu lưu trữ từ hệ điều hành khác. Nó chỉ được sử dụng trong Linux khi bạn nhận được tệp nén từ người dùng Windows.

3.4.1. Một số ví dụ về zip:

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
4

Nén tất cả các tệp trong thư mục hiện hành và đưa chúng vào tệp backup.zip.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
5

Lưu trữ vào thư mục đăng nhập hiện tại của bạn và tất cả các tệp thư mục trong tệp backup.zip

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
6

Giải nén các tệp trong tệp backup.zip, đưa chúng vào thư mục hiện hành.

3.5. Nén dữ liệu bằng tar

tar là viết tắt của "tape archive" và được sử dụng để lưu trữ các tệp vào băng từ. Nó cho phép bạn tạo hoặc trích xuất các tệp từ một tệp lưu trữ. Chúng ta có thể tùy chọn nén trong khi tạo tệp lưu trữ và giải nén trong khi trích xuất nội dung của nó.

3.5.1. Một số ví dụ về tar:

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
7

Dùng giải nén tất cả các tệp trong mydir.tar.

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
8

Tạo kho lưu và nén bằng gzip

rsync -avzh /root/rpmpkgs /tmp/backups/
rsync -avzh /root/rpmpkgs /tmp/backups1/
9

Tạo kho lưu và nén bằng bz2

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
0

Tạo kho lưu và nén bằng xz

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
1

Tìm các tệp mydir.tar.gztar.gz và đưa vào thư mục mydir

4. Copy đĩa đến đĩa

Tiện ích

gzip *
1 là chương trình rất hữu ích trong hệ diều hành Linux dùng để chuyển đổi và sao lưu tệp tin, tạo các bản sao của không gian đĩa.

Ví dụ: Tạo bản sao lưu bản ghi khởi động chính [MBR] dùng 512 byte đầu tiên của đĩa chứa bảng mô tả phân vùng trên đĩa đó:

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
2

Để copy một đĩa này sang đĩa khác ta dùng lệnh:

rsync -avzh rpmpkgs/ root@192.168.21.145:/home/
3

Với cú pháp trên thì tất cả dữ liệu có trong đĩa thứ 2 trước đó sẽ bị xoá toàn bộ. Và một bản sao của đỉa thứ nhất sẽ được tạo trên đĩa thứ 2.

Chủ Đề