Cách sử dụng lệnh rsync để sao chép tệp trên Ubuntu

How Use Rsync Command Copy Files Ubuntu



rsync là một công cụ để sao chép các tập tin. rsync được sử dụng để sao chép các tệp từ máy tính của bạn sang một máy tính từ xa, từ một máy tính từ xa đến máy tính của bạn, từ một thư mục này sang một thư mục khác trên cùng một máy tính, từ máy tính của bạn sang ổ cứng ngoài hoặc chia sẻ mạng, v.v. rsync cũng có thể được được sử dụng để sao lưu gia tăng.

Trong bài viết này, chúng tôi sẽ giới thiệu cho các bạn cách sử dụng lệnh rsync để sao chép các tệp và thư mục cũng như sao lưu gia tăng. Tôi sẽ sử dụng Ubuntu để trình diễn. Nhưng bất kỳ bản phân phối Linux hiện đại nào cũng sẽ hoạt động tốt. Vậy hãy bắt đầu.







Cài đặt rsync:

rsync đã được cài đặt trên Ubuntu. Tuy nhiên, nếu nó không được cài đặt trên máy tính của bạn vì lý do nào đó, bạn có thể dễ dàng cài đặt nó từ kho gói chính thức của Ubuntu bằng lệnh sau:



$sudođúng cáchTải vềrsync-và



Định dạng của Lệnh rsync:

Định dạng cơ bản của lệnh rsync là,





$tùy chọn rsyncnguồnđiểm đến
  • nguồn có thể là một tệp hoặc một thư mục hoặc một đường dẫn mạng.
  • điểm đến có thể là một thư mục hoặc một đường dẫn mạng.
  • rsync có nhiều tùy chọn. Bạn có thể thay đổi hành vi của rsync bằng cách sử dụng các tùy chọn này. Chúng ta sẽ xem xét một số tùy chọn phổ biến nhất trên đường đi.

Khi bạn sử dụng rsync, bạn cần biết những điều sau:

  • Nếu bạn đặt một / sau tên thư mục trong nguồn của rsync chẳng hạn như myfiles / , thì nó có nghĩa là chỉ sao chép tất cả các tệp từ bên trong thư mục vào điểm đến .
  • Nếu bạn không đặt một / sau tên thư mục trong nguồn của rsync chẳng hạn như myfiles , sau đó rsync sẽ sao chép tất cả các tệp từ thư mục vào điểm đến bao gồm cả thư mục.
  • Nếu bạn gõ vào một điểm đến đường dẫn thư mục không tồn tại thì rsync sẽ tự động tạo nó theo yêu cầu.

Sao lưu các tệp và thư mục cục bộ với rsync:

Bạn có thể sao chép tệp từ thư mục này sang thư mục khác trên máy tính của mình rất nhanh chóng với rsync .



Ví dụ: giả sử bạn có một số tệp quan trọng trong ~ / Tải xuống danh mục. Bây giờ, bạn muốn sao lưu tất cả các tệp từ ~ / Tải xuống thư mục vào ổ USB của bạn / dev / sdb1 được gắn trong thư mục / mnt / myusb .

Hãy tạo một số tệp giả trong ~ / Tải xuống danh mục.

$chạm vào~/Tải xuống/kiểm tra{1..100}

Bây giờ, hãy sao chép tất cả các tệp từ ~ / Tải xuống thư mục đến / mnt / myusb thư mục bằng lệnh rsync sau:

$rsync-avzh~/Tải xuống/ /mnt/myusb

Các tập tin phải được sao chép.

Như bạn có thể thấy, các tệp nằm trong / mnt / myusb danh mục.

Bạn cũng có thể sao chép toàn bộ ~ / Tải xuống thư mục vào ổ USB của bạn như sau:

$rsync-avzh~/Tải xuống/mnt/myusb

Như bạn có thể thấy, toàn bộ thư mục được sao chép vào ổ USB.

Một lần nữa, nếu bạn muốn sao chép tất cả các tệp từ ~ / Tải xuống thư mục đến thư mục khác (giả sử mydownloads /) trên ổ USB của bạn, chạy rsync như sau:

$rsync-avzh~/Tải xuống/ /mnt/myusb/Tải xuống của tôi

Như bạn có thể thấy, các tệp được sao chép chính xác qua ổ USB.

Sao lưu các tệp và thư mục từ xa với rsync:

Với rsync, bạn có thể sao chép các tệp và thư mục từ máy chủ từ xa sang hệ thống tệp cục bộ hoặc ổ USB cho mục đích sao lưu. Bạn cũng có thể sao chép tệp và thư mục từ hệ thống tệp cục bộ sang máy chủ sao lưu từ xa. rsync sử dụng SSH để sao chép tệp và thư mục đến / từ máy chủ từ xa.

Bạn phải có gói máy chủ SSH ( máy chủ openssh trên Ubuntu) và rsync gói được cài đặt trên máy chủ từ xa nếu bạn muốn sử dụng rsync cho mục đích sao lưu tệp.

Ví dụ: giả sử, bạn muốn sao chép tất cả nội dung (bao gồm cả thư mục) của / www thư mục từ máy chủ từ xa của bạn www.example1.com vào ổ USB của bạn được gắn trên đường dẫn / mnt / myusb trên hệ thống tệp cục bộ của bạn.

Để làm điều đó, bạn có thể sử dụng lệnh rsync sau:

$rsync-avzhnguồn gốc@www.example1.com:/www/mnt/myusb

GHI CHÚ: Ở đây, nguồn gốc là tên người dùng từ xa, www.example1.com là tên DNS của máy chủ từ xa và / www là một đường dẫn thư mục trên máy chủ từ xa. Bạn cũng có thể sử dụng địa chỉ IP của máy chủ từ xa thay vì tên DNS nếu muốn.

Bạn có thể thấy thông báo sau nếu bạn đang kết nối với máy chủ từ xa lần đầu tiên. Chỉ cần gõ vào đúng và sau đó nhấn .

Bây giờ, hãy nhập mật khẩu cho người dùng từ xa (trong trường hợp của tôi là nguồn gốc ) và hãy nhấn .

Tất cả các tệp và thư mục bên trong / www thư mục bao gồm thư mục / www sẽ được sao chép vào ổ USB như bạn có thể thấy trong ảnh chụp màn hình bên dưới.

Bạn cũng có thể sao chép tệp từ hệ thống tệp cục bộ sang máy chủ từ xa bằng rsync.

Trong ví dụ trước đó, bạn đã tạo một bản sao lưu của / www thư mục trên máy chủ từ xa. Bây giờ, giả sử một số tệp trong máy chủ từ xa bị hỏng và bạn muốn khôi phục chúng từ bản sao lưu.

Để làm điều đó, hãy chạy lệnh rsync như sau:

$rsync-avzh /mnt/myusb/www/nguồn gốc@www.example1.com:/www

Bây giờ, hãy nhập mật khẩu của máy chủ từ xa của bạn và nhấn .

Các tệp phải được sao chép từ hệ thống tệp cục bộ của bạn sang máy chủ từ xa.

Sao lưu gia tăng với rsync:

Trong loại sao lưu này, nguồnđiểm đến các thư mục được giữ đồng bộ. Nếu bất kỳ tệp nào được thêm vào nguồn thư mục, nó được thêm vào điểm đến thư mục nữa. Theo cách tương tự, nếu bất kỳ tệp hoặc thư mục nào từ nguồn thư mục bị xóa, nó bị xóa khỏi điểm đến thư mục nữa.

rsync là một công cụ tuyệt vời để sao lưu gia tăng.

Giả sử, bạn có một thư mục ~ / đám mây trong người dùng của bạn TRANG CHỦ danh mục. Bây giờ, bạn muốn sao lưu từng bước thư mục vào ổ USB gắn trên đường dẫn / mnt / usb1 trên một máy chủ từ xa backup.example.com .

GHI CHÚ: Bạn phải có máy chủ opensshrsync các gói được cài đặt trên máy chủ từ xa của bạn để nó hoạt động.

Để sao lưu gia tăng ~ / đám mây , chạy lệnh sau:

$rsync-avzh --xóa bỏ --tiến triển~/đám mây/shovon@backup.example.com:/mnt/usb1/sao lưu

Bây giờ, hãy nhập mật khẩu cho người dùng từ xa của bạn và nhấn .

Nội dung của ~ / đám mây thư mục sẽ được sao chép vào ổ USB trên máy chủ từ xa.

Như bạn có thể thấy, tất cả các tệp được sao chép sang ổ USB gắn trên máy chủ sao lưu từ xa.

Bây giờ, hãy xóa một tệp khỏi hệ thống tệp cục bộ và xem điều gì sẽ xảy ra.

$rm~/đám mây/package.txt

Bây giờ, sử dụng rsync để đồng bộ hóa lại các thư mục bằng lệnh như trước.

$rsync-avzh --xóa bỏ --tiến triển~/đám mây/shovon@backup.example.com:/mnt/usb1/sao lưu

Như bạn có thể thấy, tệp package.txt cũng bị xóa khỏi ổ USB gắn trên máy chủ sao lưu từ xa.

Đi đâu tiếp theo:

Bạn có thể tìm thêm thông tin về rsync trong trang chủ của rsync. Trang chủ của rsync có mô tả chi tiết về tất cả các tùy chọn của rsync. Tôi thực sự khuyên bạn nên kiểm tra điều đó.

Bạn có thể truy cập trang man của rsync bằng lệnh sau:

$Đàn ôngrsync

Vì vậy, đó là cách bạn sử dụng rsync để sao chép tệp và sao lưu gia tăng trên Ubuntu. Cảm ơn đã đọc bài viết này.