Lệnh Rsync Linux (Remote Synchronization): đồng bộ hóa từ xa

access_time

hourglass_empty

person_outline

Lệnh Rsync Linux (Remote Synchronization): đồng bộ hóa từ xa

Lệnh rsync Linux copy và đồng bộ file hoặc thư mục giữa máy tính cá nhân, máy chủ từ xa, hoặc bất kỳ máy tính nào khác. Ai làm việc với hệ máy Linux đều cần dùng chức năng mạnh mẽ này để hỗ trợ quản lý tốt hơn. Với bài này, bạn sẽ biết nhanh chóng làm chủ được lệnh Rsync

Đồng bộ folder hoặc copy files thủ công thường rất tốn thời gian. Tính năng rsync lại có thể làm được hầu hết mọi công việc đó, giúp bạn tiết kiệm được nhiều thời gian. Thậm chí là khi bạn ngắt kết nối trong qua trình chuyển đổi, công cụ này sẽ tạm ngưng, và được mở lại tại điểm tạm ngưng đó khi kết nối lại.

Syntax cơ bản

Syntax cơ bản của rsync sẽ như sau:

rsync [optional modifiers] [SRC] [DEST]

Có nhiều cách khác nhau để dùng lệnh Linux Rsync. Ví dụ, [optional modifiers] để chỉ hành động nào sẽ được thực thi, [SRC] là thư muc gốc, và [DEST] là thư mục gốc của máy.

Làm thế nào kiểm tra phiên bản Rsync

Trước khi sử dụng Rsync, bạn cần đăng nhập vào VPS server trước. Bài hướng dẫn này sẽ chỉ bạn cách truy cập VPS sử dụng Putty SSH. Nếu bạn đang dùng MacOS, hoặc máy Linux, chỉ cần mở terminal có sẵn lên để sử dụng.

Rsync đã được cài sẵn trong các phiên bản của Linux. Để kiểm tra xem rsync được cài trên máy chưa, thực thi lệnh sau:

rsync -version

Trên phiên bản Ubuntu của chúng tôi, lệnh trên cho kết quả như sau:

rsync  version 3.1.2  protocol version 31

Có nghĩa là rsync bản 3.1.2 đã có sẵn trên máy tính. Rất dễ, phải không?

Cài đặt Rsync

Nếu máy của bạn không có rsync, bạn có thể cài đặt nó trong 1 phút! Những hệ điều hành nền Debian như Ubuntu có thể dùng lệnh sau để cài Rsync:

apt-get install rsync

Trên distribution nền rpm như Fedora hay CentOS, bạn dùng lệnh sau để cài:

yum install rsync

Xong rồi! Rsync Linux đã sẵn sàng để đồng bộ dữ liệu, thực hiện chuyển đổi hay xóa file! Xem kết quả cài đặt bằng lệnh kiểm tra phiên bản rsync như trước:

rsync -version

Làm việc với Rsync

Trong bài hướng dẫn này, chúng tôi tạo 2 thư mục trên máy Linux, có tên Original Duplicate. Thư mục gốc (original) có 3 ảnh và thư mục duplicate thì trống. Giờ chúng tôi sẽ chỉ bạn cách dùng Rsync Linux nhé.

Lệnh sau, khi gõ vào trong commanldn, sẽ copy và đồng bộ toàn files đặt trong thư mục gốc tới thư mục đích.

rsync original/* duplicate/

* chỉ cho lệnh rsync biết để đồng bộ toàn bộ file trong thư mục gốc.

Nếu chúng ta đặt một ảnh hoặc file mới vào trong thư mục gốc và chạy lại cùng lệnh trên, nó sẽ chỉ copy file mới tới thư mục đích.

Tính năng này hữu dùng để copy files giữa hệ thống mạng mà băng thông không cao.

Lưu ý là lệnh này chỉ copy file trong thư mục gốc (Original theo ví dụ của chúng tôi), nó không copy các thư mục con trong đó.

Nếu bạn muốn copy cả thư mục con, vậy hãy dùng lệnh sau:

rsync -r original/ duplicate/

Tham số -r nói cho rsync biết để copy mọi thứ bao gồm thư muc con và files từ thư mục gốc.

Dấu / đặt sau thư mục original dùng để nói rsync copy nội dung từ thư mục gốc đến thư mục duplicate.

Nếu bạn muốn đồng bộ files – từ là copy 2 chiều, những file nằm trong thư mục duplicate mà không có trong thư mục original sẽ được copy ngược lại, thì dùng lệnh sau::

rsync -r original duplicate/

Với lệnh này, bạn có thể chắc rằng cả thư mục gốc và thư mục đích đều sẽ chứa các files giống nhau.

Một tham số hữu dụng khác là -a. Nó đại diện cho archive và có thể kết hợp với các lệnh khác. Có nghĩa là nó không chỉ copy files, nó copies được các thuộc tính như quyền hạn, thời gian chỉnh sửa, và các loại ngày khác.

Để sử dụng -a lệnh sẽ như sau:

rsync -av --dry-run  Original/ Duplicate/

Đừng lo, chúng tôi sẽ giải thích từng tham số cho bạn.

Trước tiên, lệnh trên sẽ chỉ hiển thị những file sẽ được copy mà không thực sự copy file. Bạn sẽ thấy danh sách các file đó hiện lên màn hình.

Nếu các files hiển thị đúng ý với bạn, sau đó hãy chạy lại lệnh đó nhưng bỏ yếu tố —dry-run ra.

—dry-run tham số này dùng để chạy thử trước để bạn thấy thay đổi, nhưng hành động copy sẽ không thực sự diễn ra.

-a kích hoạt chế độ archive

-v thêm sau -a để kết hợp thành tham số -av trong lệnh, để mình xem được quá trình copy đang diễn ra như thế nào.

Nếu bạn muốn đồng bộ 2 thư mục, nhưng xóa những files bị trùng không có trong thư mục gốc, vậy thì thêm –delete, lện rsync Linux sẽ như sau:

rsync -av --delete  original/ duplicate/

Lệnh sau cùng chúng tôi muốn nói đến là -z. Lệnh này dùng để nén (compress) file để chuyển trên mạng. Hãy xem chúng tôi dùng lệnh này để chuyển file từ server này sang server khác:

rsync -za ~/Desktop/Original edward@192.168.22.90:~/tmp/

Như đã đề cập từ trước, -z nén file, -a tạo archive để đảm bảo các permissions bên trong files được copy.

~/Desktop/Original là thư mục nguồn. Nó nằm trong máy bạn, thư mục này là trong máy nơi bạn đặng nhập vào và edward@192.168.22.90:~/tmp/ chỉ thư mục đích. edward@192.168.22.90 là địa chỉ server từ xa, còn :~/tmp/ là thư mục đích mà file sẽ được copy tới.

Tóm lại

Chúng tôi chỉ mới nói đến các cách dùng cơ bản nhất của rsync linux! Rsync là một ứng dụng cực kỳ mạnh mẽ mà bất kỳ server admin hay developer Linux nào cũng cần biết. Nhưng bạn đã biết được cách dùng rsync linux cũng như cách cài đặt nó. Nếu bạn muốn tìm hiểu thêm các chức năng cao cấp khác – xem bộ tài liệu chính thức của rsync tại đây!

Hãy sẵn sàng để cải thiện năng suất làm việc của bạn nào! Đừng mất thời gian vào các công việc lặt vặt mà hãy để các tool mạnh mẽ như rsync linux làm giúp bạn. Chúc bạn thành công với mọi dự án online!

Scores: 4.2 (100 votes)

100 lần tự tìm hiểu cũng không bằng 1 lần được tư vấn