Lệnh Rsync trong Linux với các ví dụ

Đã xem: 46
Cập nhât: 3 năm trước
rsynclà một tiện ích dòng lệnh linh hoạt và nhanh chóng để đồng bộ hóa các tệp và thư mục giữa hai vị trí qua một trình bao từ xa

rsynclà một tiện ích dòng lệnh linh hoạt và nhanh chóng để đồng bộ hóa các tệp và thư mục giữa hai vị trí qua một trình bao từ xa hoặc từ / đến một daemon Rsync từ xa. Nó cung cấp khả năng truyền tệp gia tăng nhanh chóng bằng cách chỉ chuyển những điểm khác biệt giữa nguồn và đích.

Rsync có thể được sử dụng để ánh xạ dữ liệu, backup, sao chép tập tin giữa các hệ thống, và như là một thay thế cho scp , sftp và cp lệnh.

Bài viết này giải thích cách sử dụng rsyncthông qua các ví dụ thực tế và giải thích chi tiết về các rsynctùy chọn phổ biến nhất .

Cài đặt Rsync

Các rsynctiện ích được cài đặt sẵn trên hầu hết các bản Linux và MacOS. Nếu bạn chưa rsynccài đặt trên hệ thống của mình, bạn có thể dễ dàng cài đặt nó.

Cài đặt Rsync trên Ubuntu và Debian 

sudo apt install rsync

Cài đặt Rsync trên CentOS và Fedora

sudo yum install rsync

Cú pháp lệnh Rsync

Trước khi đi vào cách sử dụng rsynclệnh, chúng ta hãy bắt đầu bằng cách xem lại cú pháp cơ bản.

Local to Local:  rsync [OPTION]... [SRC]... DEST

Local to Remote: rsync [OPTION]... [SRC]... [USER@]HOST:DEST

Remote to Local: rsync [OPTION]... [USER@]HOST:SRC... [DEST]

  • OPTION- Các tùy chọn rsync .
  • SRC - Thư mục nguồn.
  • DEST - Danh mục nơi nhận.
  • USER - Tên người dùng từ xa.
  • HOST - Tên máy chủ hoặc Địa chỉ IP từ xa.

rsynccung cấp một số tùy chọn kiểm soát cách hoạt động của lệnh. Các tùy chọn được sử dụng rộng rãi nhất là:

  • -a,, --archivechế độ lưu trữ, tương đương với -rlptgoDTùy chọn này yêu rsynccầu đồng bộ hóa các thư mục một cách đệ quy, chuyển các thiết bị đặc biệt và khối, bảo tồn các liên kết tượng trưng, ​​thời gian sửa đổi, nhóm, quyền sở hữu và quyền.
  • -z--compressTùy chọn này buộc rsyncnén dữ liệu khi nó được gửi đến máy đích. Chỉ sử dụng tùy chọn này nếu kết nối với máy từ xa chậm.
  • -P, tương đương với --partial --progressKhi tùy chọn này được sử dụng, rsyncsẽ hiển thị thanh tiến trình trong quá trình truyền và giữ các tệp đã chuyển một phần. Nó rất hữu ích khi chuyển các tệp lớn qua kết nối mạng chậm hoặc không ổn định.
  • --deleteKhi tùy chọn này được sử dụng, rsyncsẽ xóa các tệp không liên quan khỏi vị trí đích. Nó rất hữu ích cho việc phản chiếu.
  • -q--quietSử dụng tùy chọn này nếu bạn muốn loại bỏ các thông báo không phải lỗi.
  • -eTùy chọn này cho phép bạn chọn một trình bao từ xa khác. Theo mặc định, rsyncđược định cấu hình để sử dụng ssh.

Sử dụng Rsync cơ bản

Trường hợp sử dụng cơ bản nhất rsynclà sao chép một tệp từ tệp này sang vị trí cục bộ khác. Đây là một ví dụ:

rsync -a /opt/filename.zip /tmp/

Người dùng đang chạy lệnh phải có quyền đọc trên vị trí nguồn và quyền ghi trên đích.

Bỏ qua tên tệp khỏi vị trí đích sẽ sao chép tệp với tên hiện tại. Nếu bạn muốn lưu tệp dưới một tên khác, hãy chỉ định tên mới trên phần đích:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Sức mạnh thực sự rsyncđến khi đồng bộ hóa các thư mục. Ví dụ dưới đây cho thấy cách tạo bản sao lưu cục bộ của các tệp trang web:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Nếu thư mục đích không tồn tại, rsyncsẽ tạo nó.

Điều đáng nói là rsyncđưa ra cách xử lý khác nhau đối với các thư mục nguồn bằng một dấu gạch chéo ( /). Nếu thư mục nguồn có dấu gạch chéo, lệnh sẽ chỉ sao chép nội dung thư mục vào thư mục đích. Khi dấu gạch chéo được bỏ qua, hãy rsyncsao chép thư mục nguồn bên trong thư mục đích.

Sử dụng rsyncđể đồng bộ hóa dữ liệu từ / đến một máy từ xa

Khi sử dụng rsyncđể truyền dữ liệu từ xa , nó phải được cài đặt trên cả máy nguồn và máy đích. Các phiên bản mới của rsyncđược định cấu hình để sử dụng SSH làm trình bao từ xa mặc định.

Trong ví dụ sau, chúng tôi đang chuyển một thư mục từ một máy cục bộ sang một máy từ xa:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Để chuyển dữ liệu từ điều khiển từ xa sang máy cục bộ, hãy sử dụng vị trí từ xa làm nguồn:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Nếu SSH trên máy chủ từ xa đang nghe trên một cổng khác với cổng 22 mặc định, hãy chỉ định cổng bằng cách sử dụng -etùy chọn:

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Khi chuyển một lượng lớn dữ liệu, bạn nên chạy rsynclệnh bên trong phiên màn hình hoặc sử dụng -Ptùy chọn:

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Loại trừ Tệp và Thư mục

Có hai tùy chọn để loại trừ tệp và thư mục. Tùy chọn đầu tiên là sử dụng --excludeđối số và chỉ định các tệp và thư mục bạn muốn loại trừ trên dòng lệnh.

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

 

Đăng bởi Quang Minh 13-08-2021 46

Tags:
Các bài viết liên qua đến Lệnh Rsync trong Linux với các ví dụ

Tin nổi bật Kiến thức quản trị

Lệnh Rsync trong Linux với các ví dụ
rsynclà một tiện ích dòng lệnh linh hoạt và nhanh chóng để đồng bộ hóa các tệp và thư mục giữa hai vị trí qua một trình bao từ xa