Skip to content

Instantly share code, notes, and snippets.

@anhhtz
Last active February 2, 2021 04:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anhhtz/b030d84369cabb551c60638b33d450bd to your computer and use it in GitHub Desktop.
Save anhhtz/b030d84369cabb551c60638b33d450bd to your computer and use it in GitHub Desktop.
Giới thiệu lệnh rsync bá đạo trên Linux/macOS

Giới thiệu lệnh rsync bá đạo trên Linux/macOS

Đối với những anh em hay copy/move một lượng dữ liệu lớn (vài ngàn đến vài trăm ngàn tập tin) trên macOS nếu dùng Finder sẽ rất lâu và hay xảy ra lỗi, phần merge folder/file của macOS cũng không thực sự tốt. macOS có một lệnh command-line (terminal) cực kỳ bá đạo cho công việc này đó là rsync. rsync không đơn giản copy/move nó còn gồm cả sync cực kỳ nhanh và chuẩn xác. Cá nhân mình từng tìm kiếm rất nhiều phần mềm hỗ trợ việc copy/move/sync folder/file như GoodSync, FolderSync, Beyond Compare,... nhưng rốt cuộc rsync vẫn là số 1. Nó có thể xử lý lượng liệu vài TB cho đến hàng trăm ngàn files lúc nhúc như kiến cỏ. Điểm bá đạo ở rsync là nó "nhớ" được tiến trình đã thực hiện trước đó và dễ dàng cho bạn resume quá trình mà không phải thực hiện lại từ đầu. Điều này rất tiện khi đang sync vài trăm ngàn files mà phải ngưng lại rồi sau này thực hiện tiếp tục. Chức năng copy mặc định của macOS rất bất cập trong việc này. rsync có mặt ở các hệ điều hành nhân Unix/Linux và cực kỳ dễ dùng:

rsync -tham_số thư_mục_nguồn thư_mục_đích

Ex:

rsync -avzh --progress /Users/admin/Desktop/JAV-Tiếng-Nhật-Cho-Mọi-Người/ /Volumes/SamsungEvo560-1TB/Tài-liệu-học-tập

Câu lệnh trên sẽ copy/sync (một chiều) toàn bộ dữ liệu từ folder JAV-Tiếng-Nhật-Cho-Mọi-Người từ Desktop vào ổ đĩa gắn ngoài có tên SamsungEvo560-1TB trong folder Tài-liệu-học-tập một cách nhanh chóng.

Tham số -avzh là tham số chuẩn nhất mình hay dùng. Chi tiết có thể tham khảo thêm ở đây Tham số --progress sẽ hiện chi tiết quá trình sync cho bạn theo dõi.

rsync còn hay hơn nữa khi có thể sync từ máy này qua máy khác thông qua SSH trên Internet. Mình thường dùng rsync để sao lưu dữ liệu từ VPS CentOS về máy hoặc ngược lại. Rất tuyệt vời.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment