giảm giá 50% tất cả các kế hoạch, thời gian có hạn. Bắt đầu lúc $2.48/mo
còn 10 phút
Bảo mật & Mạng

Làm cách nào để sử dụng Rsync trong Linux? Rsync với máy chủ từ xa 💻📥

Lily Carnell By Lily Carnell đọc 10 phút Cập nhật ngày 16 tháng 4 năm 2023
rsync đến máy chủ từ xa

Dù là quản trị viên hay người dùng thông thường, rất có thể bạn cần tạo bản sao lưu thường xuyên cho các tệp của mình hoặc đồng bộ hóa chúng giữa một số hệ thống. Nếu tác vụ này mỗi lần yêu cầu ghi đè tất cả các file thì sẽ rất tốn thời gian và mệt mỏi cho bạn; Đây là lúc công cụ Linux Rsync tới máy chủ từ xa giải cứu bạn. Hướng dẫn này sẽ giúp bạn làm quen với các lệnh Rsync hữu ích nhất, cho phép bạn sử dụng các tính năng nhanh chóng và an toàn của nó.

Tiện ích Rsync là gì?

Đồng bộ hóa từ xa (Rsync) là một lệnh Linux/Unix nổi tiếng mà bạn có thể sử dụng để sao chép và đồng bộ hóa các tệp và thư mục thông qua truy cập từ xa hoặc cục bộ. Sử dụng lệnh Rsync cho phép bạn thực hiện nhiều tác vụ liên quan đến dữ liệu khác nhau, chẳng hạn như đồng bộ hóa, sao chép và nhận bản sao lưu. Ngoài ra, bạn có thể phản chiếu hệ thống Linux của mình sang hệ thống khác.

Ý tưởng chính đằng sau việc sử dụng Rsync tới máy chủ từ xa là tận dụng khả năng truyền tệp nhanh chóng của nó; để chuyển đổi dữ liệu giữa hai nguồn, nó chỉ xem xét sự khác biệt giữa chúng. Nói cách khác, sử dụng lệnh Rsync sẽ giúp bạn tránh mất thời gian cho việc truyền dữ liệu mù quáng vì nó chỉ xem xét sự khác biệt giữa hai hệ thống Linux.

Tại sao nên sử dụng Rsync?

Như bạn có thể đã biết, có nhiều công cụ sao lưu khác nhau để bạn sử dụng. Câu hỏi đặt ra là điều gì khiến công cụ Rsync trở nên độc đáo khi so sánh với các tiện ích hoặc lệnh khác?

Ví dụ, bạn có thể sử dụng Giao thức truyền tệp (FTP) để có một bản sao cục bộ của trang web của bạn hoặc SCP (Giao thức sao chép an toàn) cho nhiệm vụ này. Tuy nhiên, cả hai đều có nhược điểm. FTP không bao gồm mã hóa dữ liệu, điều mà chúng tôi không mong đợi và mặc dù SCP không gặp phải vấn đề truyền không được mã hóa như FTP, nhưng việc truyền vẫn mất nhiều thời gian hơn vì nó tạo ra một đường hầm để thực hiện việc đó.

Do đó, như một giải pháp thay thế cho những vấn đề này, chúng ta có thể sử dụng Rsync đến máy chủ từ xa bằng mã hóa dựa trên khóa (gọi đơn giản là Rsync SSH hoặc Rsync qua SSH) để ngăn việc gửi dữ liệu trùng lặp và sử dụng khóa SSH. Bạn cũng nên lưu ý rằng Rsync sử dụng tính năng nén và giải nén để nhận và gửi dữ liệu, dẫn đến việc sử dụng ít băng thông hơn.

Làm cách nào để cài đặt Rsync?

Có thể bạn đã cài đặt Rsync trên hệ thống của mình; Tuy nhiên, hãy đi vào chi tiết. Trước khi làm như vậy, vui lòng lưu ý rằng SSH phải được cài đặt sẵn trong cả hệ thống nguồn và đích vì chúng tôi muốn sử dụng Rsync qua SSH.

Bước 1: Kiểm tra phiên bản SSH

Bạn có thể kiểm tra phiên bản SSH bằng lệnh sau:

ssh -V

Để Rsync với máy chủ từ xa, bạn sẽ cần phải có máy chủ cục bộ, còn gọi là nguồn và máy chủ từ xa. Bạn cũng nên đảm bảo rằng máy chủ cục bộ có đặc quyền quản trị (sudo).

Bước 2: Cài đặt Rsync Linux

Lệnh sau sẽ cho phép bạn cài đặt Rsync trên Ubuntu, Linux Mint và Debian:

sudo apt install rsync -y

Nếu bạn đang sử dụng các bản phân phối Linux khác, như Fedora, CentOS, AlmaLinux và Red Hat, hãy nhập lệnh sau để cài đặt Rsync cho dịch vụ máy chủ từ xa trên hệ thống của bạn:

sudo dnf install rsync

Lưu ý: apt là một công cụ cài đặt gói hữu ích được sử dụng trong các bản phân phối dựa trên Debian.

Bước 3: Bắt đầu Rsync

Bây giờ bạn cần khởi động và sau đó kích hoạt Rsync để bắt đầu sử dụng nó thông qua các lệnh sau:

sudo systemctl start rsync 
sudo systemctl enable rsync

Bước 4: Xác minh cài đặt Rsync

Nhập lệnh sau để đảm bảo bạn đã cài đặt Rsync đúng cách và kiểm tra xem bạn đang sử dụng phiên bản nào trên hệ thống Linux của mình:

rsync --version

Trong phần sau, chúng tôi sẽ thảo luận cách sử dụng khả năng của công cụ này để tạo bản sao lưu thông qua xác thực dựa trên khóa.

Làm cách nào để tạo bản sao lưu bằng Rsync qua SSH?

Tạo bản sao lưu gia tăng là một trong những trường hợp sử dụng Rsync qua SSH. Hãy chú ý đến lệnh sau để hiểu cách thức hoạt động của nó:

rsync -av -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Chạy lệnh trên sẽ giúp bạn đồng bộ nguồnDirđíchDir. Lệnh này bao gồm các tùy chọn khác mà bạn nên làm quen, như -a (kho lưu trữ)-v (dài dòng). Lưu ý rằng -e ssh tùy chọn yêu cầu kết nối Rsync qua giao thức SSH.

Nếu bạn muốn Kết nối SSH để được chấp nhận qua một cổng khác với cổng mặc định (cổng 22), bạn cần đề cập đến số cổng sau -e sss. Nhìn vào lệnh sau để hiểu nó hoạt động như thế nào.

rsync -av -e ssh 1998 sourceDir/ user@remote:/path/to/destinationDir

Trong lệnh trên, chúng tôi giả sử chúng tôi muốn sử dụng 1998 làm cổng SSH thay vì 22.

Rsync tới máy chủ từ xa qua SSH có các tùy chọn khác có thể khá hữu ích. Ví dụ, sử dụng –một phần tùy chọn cho phép bạn tiếp tục chuyển một phần trước đó trong trường hợp xảy ra sự cố như gián đoạn Rsync. Bạn cũng có thể biết tiến trình truyền tập tin hiện tại thông qua -tiến triển lựa chọn. Ngoài ra, tiện ích Linux Rsync to remote server cho phép bạn sử dụng đồng thời hai tính năng này. Để làm như vậy, bạn có thể sử dụng -p cờ trong dòng lệnh.

rsync -avP  -e ssh /sourceDir/ user@remote:/path/to/destinationDir

Rsync đến máy chủ từ xa bằng lệnh chính cho phép bạn nén dữ liệu trước khi chuyển đến đích. Mặc dù nó sẽ sử dụng CPU của bạn để hoàn thành quá trình nén nhưng nó vẫn khá hữu ích vì nó giúp truyền tệp nhanh hơn và yêu cầu sử dụng ít băng thông hơn.

Bạn có thể sử dụng lệnh Rsync để sao chép tệp và thư mục, từ xa hoặc cục bộ. Ưu điểm chính của Rsync là nó dựa trên thuật toán chuyển delta, ngăn việc sao chép dữ liệu trùng lặp từ nguồn tới đích. Như đã đề cập trước đó, tính năng này của tiện ích Rsync tới máy chủ từ xa sẽ giúp bạn nếu bạn muốn xử lý các bản sao lưu hàng ngày và phản chiếu hệ thống. Với suy nghĩ này, hãy sử dụng lệnh Rsync cho các trường hợp sử dụng cục bộ.

Làm cách nào để sử dụng Rsync để đồng bộ hóa cục bộ?

Trước khi chúng ta đi sâu vào đồng bộ hóa cục bộ và cách sử dụng lệnh Rsync cho nó, bạn nên biết cấu trúc chung của Rsync cục bộ, được hiển thị bên dưới:

rsync [options] [Source] [Destination]

Sao chép tập tin cục bộ

Giả sử chúng ta muốn đồng bộ hoặc sao chép một tập tin từ thư mục trên màn hình (được gọi là Cloudzy) ĐẾN /nhà/Công cộng thư mục; đây là những gì bạn cần phải nhập:

rsync -zvh /desktop/Cloudzy/myfile.pdf /home/Public

Lệnh Rsync ở trên bao gồm ba tùy chọn như -zvh; bằng cách sử dụng -z, bạn sẽ nén tập tin của mình trong quá trình chuyển. tùy chọn v là viết tắt của đầu ra dài dòng, và tùy chọn h là thứ giúp chúng ta có thể đọc kết quả đầu ra như con người, hay còn gọi là hiển thị kết quả đầu ra mà con người có thể đọc được.

Sao chép thư mục cục bộ

Nếu chúng ta muốn sao chép thư mục máy tính để bàn (được gọi là Cloudzy) ĐẾN /nhà/Công cộng thư mục; bạn cần gõ lệnh dưới đây:

rsync -zavh /desktop/Cloudzy/myfile.pdf /home/Public

các -a tùy chọn trong lệnh này lưu trữ các thư mục và tập tin trong khi đồng bộ hóa.

Bạn có thể nhanh chóng kiểm tra danh sách thư mục của thư mục đích để xác minh xem thư mục đó đã được sao chép hay chưa. Để làm như vậy, hãy sử dụng lệnh sau:

ls -ld /home/Public

Đồng bộ hóa tệp và thư mục theo cách đệ quy và cục bộ (Rsync đệ quy)

Điều gì sẽ xảy ra nếu có một số thư mục và tập tin trong /máy tính để bàn/Có mâyvà bạn muốn sao chép chúng một cách đệ quy thông qua lệnh Linux Rsync?

Trong trường hợp này, bạn sử dụng tùy chọn -r để đồng bộ đệ quy các tập tin và thư mục cục bộ của bạn. Bạn cũng có thể sử dụng tùy chọn lưu trữ (-a) vì nó có các trường hợp sử dụng khác như sao chép đệ quy. Vui lòng xem lệnh sau để làm quen với các lệnh đệ quy Rsync.

rsync -zrvh /desktop/Cloudzy /home/Public

Or

rsync -zrvh /desktop/Cloudzy /home/Public

Sao chép thư mục và tập tin từ hệ thống cục bộ sang từ xa

Ngoài các đặc điểm của Linux Rsync đến máy chủ từ xa mà chúng tôi đã đề cập trong các phần trước, lệnh nổi tiếng này còn cho phép đồng bộ hóa các tệp và thư mục từ máy cục bộ sang hệ thống từ xa.

Giả sử chúng ta muốn sao chép một thư mục (/desktop/Cloudzy/thư mục mới) từ máy cục bộ đến hệ thống từ xa (với 192.168.1.79) dưới /mycpt; đây là một ví dụ cho thấy cách thức hoạt động của nó:

rsync -zarvh /desktop/Cloudzy/newfolder [email protected]:/mycpt

Làm cách nào để sao chép thư mục mà không có tệp của chúng bằng Rsync?

Trong một số trường hợp, chúng tôi có thể muốn sử dụng Linux Rsync cho các khả năng của máy chủ từ xa để sao chép các thư mục mà không cần tệp; quá trình đồng bộ hóa này có thể được thực hiện từ máy từ xa đến hệ thống cục bộ hoặc ngược lại.

Trong bài viết này, chúng tôi đã sử dụng hệ thống từ xa tại 192.168.1.79. Giả sử chúng ta có nó dưới /mycpt thư mục và muốn sao chép /máy tính để bàn/Có mây thư mục từ hệ thống cục bộ mà không bao gồm các tập tin của nó. Vui lòng nhập lệnh dưới đây để làm như vậy:

rsync -av -f"+ */" -f"- *" /desktop/Cloudzy [email protected]:/mycpt/

Các lệnh Rsync hữu ích khác

Ở đây chúng ta sẽ thảo luận về một số lệnh Rsync Linux bổ sung có thể hữu ích cho bạn.

Xác định kích thước tối đa để truyền tệp trong Rsync

Bạn có thể xác định kích thước giới hạn để truyền tệp bằng lệnh Rsync, lệnh này rất hữu ích khi bạn thường xuyên chạy Rsync đến máy chủ từ xa và máy cục bộ nơi băng thông và thời gian là những yếu tố cần thiết cần xem xét. Hãy chú ý đến lệnh sau để làm quen với cài đặt giới hạn kích thước khi truyền tệp Rsync:

rsync -avzhe ssh --max-size='100k' /desktop/Cloudzy [email protected]:/home/Public

Xác định kích thước tối thiểu để truyền tệp trong Rsync

Cũng giống như đặt kích thước tối đa để truyền tệp, bạn có thể xác định kích thước tối thiểu của tệp bạn muốn chuyển bằng Rsync sang công cụ máy chủ từ xa. Trong lệnh bên dưới, chúng tôi sẽ đặt kích thước tệp tối thiểu là 10k:

rsync -avzhe ssh --min-size='10k' /desktop/Cloudzy [email protected]:/home/Public

Xóa tệp khỏi nguồn sau khi hoàn tất đồng bộ hóa

Sau khi sử dụng xong lệnh Rsync, bạn có thể không cần có tệp trên hệ thống nguồn nữa. Trong trường hợp này, bạn có thể sử dụng lệnh Linux Rsync như bên dưới để xóa các tệp khỏi nguồn:

rsync --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Đồng bộ hóa chạy khô

Nếu bạn chưa quen với tiện ích Rsync của Linux và chưa quen với các tùy chọn của nó, chạy khô là một cách thích hợp để đi. Khi bạn sử dụng tính năng chạy khô với Rsync, nó sẽ không thay đổi tệp nhưng nó hiển thị đầu ra của lệnh cho bạn. Sau khi chắc chắn rằng bạn muốn chạy lệnh, bạn có thể xóa –chạy khô tùy chọn từ nó và thực thi nó trên thiết bị đầu cuối. Hãy xem lệnh sau để biết thêm về chức năng chạy thử.

rsync --dry-run --remove-source-files -zvh /desktop/Cloudzy [email protected]:/home/Public

Tóm tắt: Sử dụng các lệnh Rsync của Linux

Bài viết này giải thích cách sử dụng các khả năng của Linux Rsync cho máy chủ từ xa (và Rsync cho máy chủ cục bộ) cho nhiều trường hợp sử dụng khác nhau, bao gồm phản ánh hệ thống, tạo bản sao lưu các tệp cũng như sao chép các tệp và thư mục cục bộ và từ xa bằng cách sử dụng một phương pháp hiệu quả. Lệnh Linux nổi tiếng này cho phép bạn hưởng lợi từ việc truyền tệp nhanh đồng thời cho phép bạn sử dụng SSH và nén dữ liệu.

Dịch vụ lưu trữ VPS Linux

Hãy sở hữu cho mình một VPS Linux cao cấp hoặc tiết kiệm để lưu trữ trang web hoặc máy tính từ xa của bạn với mức giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ lưu trữ SSD NVMe để tăng tốc độ.

Đọc thêm

Bạn có thể tận dụng tối đa hệ điều hành này bằng cách tải xuống VPS Linux giải pháp từ Cloudzy, cho phép bạn hưởng lợi từ các gói lưu trữ dựa trên KVM. Chúng tôi tự hào cung cấp cho bạn các dịch vụ VPS hiệu suất cao với thời gian hoạt động 99,95%, độ ổn định, độ trễ tối thiểu, trung tâm dữ liệu trên toàn thế giới (12 địa điểm), bộ lưu trữ SSD cực nhanh và hỗ trợ kỹ thuật 24/7. Bạn có thể bắt đầu sử dụng VPS Linux của mình với giá 4,95 USD và mở rộng quy mô nếu muốn có giải pháp nâng cao hơn.

Câu hỏi thường gặp

Rsync sử dụng cổng TCP nào?

SSH thường sử dụng cổng 22 làm cổng mặc định. Do đó, khi sử dụng rsync qua SSH, nó sẽ hoạt động trên cổng cụ thể này. Mặt khác, khi sử dụng daemon Rsync, cổng 873 sẽ được sử dụng.

Rsync là gì?

Rsync là một tiện ích Linux có thể đồng bộ hóa các tệp và thư mục từ xa hoặc cục bộ. Sử dụng lệnh Rsync cho phép bạn thực hiện nhiều tác vụ liên quan đến dữ liệu khác nhau, chẳng hạn như đồng bộ hóa, sao chép và nhận bản sao lưu.

Chia sẻ

Thêm từ blog

Hãy tiếp tục đọc.

Hình ảnh tiêu đề Cloudzy cho hướng dẫn MikroTik L2TP VPN, hiển thị một máy tính xách tay đang kết nối với giá đỡ máy chủ thông qua đường hầm kỹ thuật số màu xanh và vàng phát sáng với các biểu tượng chiếc khiên.
Bảo mật & Mạng

Thiết lập VPN MikroTik L2TP (với IPsec): Hướng dẫn về RouterOS (2026)

Trong thiết lập VPN MikroTik L2TP này, L2TP xử lý đường hầm trong khi IPsec xử lý mã hóa và tính toàn vẹn; việc ghép nối chúng mang lại cho bạn khả năng tương thích với máy khách gốc mà không cần đến độ tuổi của bên thứ ba

Rexa CyrusRexa Cyrus đọc 9 phút
Cửa sổ terminal hiển thị thông báo cảnh báo SSH về thay đổi nhận dạng máy chủ từ xa, với tiêu đề Hướng dẫn sửa lỗi và nhãn hiệu Cloudzy trên nền xanh mòng két tối.
Bảo mật & Mạng

Cảnh báo: Nhận dạng máy chủ từ xa đã thay đổi và cách khắc phục

SSH là một giao thức mạng an toàn tạo ra một đường hầm được mã hóa giữa các hệ thống. Nó vẫn phổ biến với các nhà phát triển cần truy cập từ xa vào máy tính mà không cần đồ họa.

Rexa CyrusRexa Cyrus đọc 10 phút
Minh họa hướng dẫn khắc phục sự cố máy chủ DNS với các biểu tượng cảnh báo và máy chủ màu xanh trên nền tối đối với lỗi phân giải tên Linux
Bảo mật & Mạng

Lỗi tạm thời trong việc phân giải tên: Ý nghĩa của nó và cách khắc phục?

Trong khi sử dụng Linux, bạn có thể gặp phải lỗi tạm thời về lỗi phân giải tên khi cố gắng truy cập các trang web, cập nhật gói hoặc thực thi các tác vụ yêu cầu kết nối internet.

Rexa CyrusRexa Cyrus đọc 12 phút

Sẵn sàng triển khai? Từ $2,48/tháng.

Đám mây độc lập, kể từ năm 2008. AMD EPYC, NVMe, 40 Gbps. Hoàn tiền trong 14 ngày.