Lệnh rsync cơ bản cho các bản sao giống hệt bit


15

Theo như tôi không thể hiểu được, lệnh sau:

sudo rsync --delete -azvr /home/oshiro/Desktop/source/ /home/oshiro/Desktop/destination

Đây có phải là tất cả những gì tôi cần để tạo một sự đồng bộ hóa đơn giản của các tệp từ vị trí này sang vị trí khác không? Hay lệnh trên làm bất cứ điều gì nhiều hơn trong nền mà tôi không biết về? Ví dụ, nó có tạo ra một số loại phiên bản không, nơi tôi có thể chỉ định một thời gian trong quá khứ để lấy các tệp như thế nào đã được thông qua?

Đó là một tính năng mà tôi không muốn kích hoạt ở giai đoạn này. Tất cả những gì tôi muốn là bản sao giống hệt nhau của các tệp từ vị trí này sang vị trí khác. Tôi có thể loại bỏ bất kỳ tham số nào không hoặc tôi cần thêm các tham số khác để làm cho các bản sao giống hệt nhau mà không cần phiên bản. Về cơ bản, tôi không muốn tạo bản sao lưu như thế nào hệ thống sao lưu máy thời gian mac tạo bản sao lưu.

Câu trả lời:


16

Rsync không thực hiện bất kỳ loại phiên bản nào hoặc giữ bất kỳ lịch sử nào trừ khi được hướng dẫn với các tùy chọn như --backup. Có những công cụ sao lưu sử dụng rsync, nhưng bản thân rsync không phải là công cụ sao lưu bất kỳ hơn bốn bánh xe tạo ra một chiếc xe hơi. Rsync chỉ xử lý đồng bộ hóa.

Về các tùy chọn bạn đã sử dụng hoặc có thể muốn sử dụng:

  • -acó nghĩa là sao chép gần như tất cả mọi thứ, (các thư mục sao chép đệ quy, sao chép các liên kết tượng trưng như vậy, bảo toàn tất cả siêu dữ liệu, v.v.). Sử dụng tùy chọn này trừ khi bạn đang làm điều gì đó bất thường.
  • Ngoài ra -a, bạn có thể muốn sử dụng -Hđể bảo vệ các liên kết cứng, -Ađể bảo vệ ACL ( -achỉ bảo tồn các quyền unix truyền thống) hoặc -Xđể duy trì các thuộc tính mở rộng.
  • -rđã được bao gồm trong -a.
  • -v có nghĩa là dài dòng.
  • -z là vô ích cho một bản sao địa phương.
  • --delete xóa các tập tin ở đích không có trong nguồn.

Vì vậy, đây là lệnh cơ bản để làm cho đích giống hệt với nguồn (không có liên kết cứng, ACL và thuộc tính mở rộng):

rsync -a --delete SOURCE/ DESTINATION/

5

Tôi thường sử dụng lệnh từ câu trả lời này . Ưu điểm là nó cũng bảo tồn các thuộc tính và ACL mở rộng.

rsync -avxHAX --progress / /new-disk/

Các tùy chọn là:

-a  : all files, with permissions, etc..
-v  : verbose, mention files
-x  : stay on one file system
-H  : preserve hard links (not included with -a)
-A  : preserve ACLs/permissions (not included with -a)
-X  : preserve extended attributes (not included with -a)

3

Lệnh này sẽ là tất cả những gì bạn cần. rsynctheo mặc định sử dụng thuật toán kiểm tra nhanh:

Rsync tìm thấy các tệp cần được chuyển bằng thuật toán "kiểm tra nhanh" (theo mặc định) để tìm các tệp đã thay đổi kích thước hoặc trong thời gian sửa đổi lần cuối. Mọi thay đổi trong các thuộc tính được bảo toàn khác (theo yêu cầu của tùy chọn) được thực hiện trực tiếp trên tệp đích khi kiểm tra nhanh cho biết rằng dữ liệu của tệp không cần phải cập nhật.

Điều này thường tốt trong hầu hết các ứng dụng. Nó nhanh hơn phương pháp thay thế tính toán tổng kiểm tra cho mỗi tệp. Phương pháp thứ hai này sẽ đảm bảo theo dõi sự khác biệt có thể trượt theo phương pháp đầu tiên.

Trong mọi trường hợp rsynckhông giữ nhiều bản sao của tệp, đó là máy photocopy / bộ đồng bộ hóa tổng thể giữ một thư mục được đồng bộ hóa với một thư mục khác theo các tùy chọn mà bạn cung cấp.

Phương pháp kiểm tra tổng

Nếu bạn tò mò đây là công tắc tôi sử dụng rsyncđể thực hiện loại đồng bộ hóa này:

$ rsync -avvz -O --stats --checksum --human-readable --acls \
    --itemize-changes --progress \
    --out-format='[%t] [%i] (Last Modified: %M) (bytes: %-10l) %-100n' \
    "SRC" "DEST"

Điều này tạo ra loại đầu ra này:

2014/02/20 09:51:49 INFO sending incremental file list 
2014/02/20 09:51:49 INFO delta-transmission disabled for local transfer or --whole-file 
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [.d..t......] (Last Modified: 2014/02/19-15:51:34) (bytes: 0         ) ./
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [>f+++++++++] (Last Modified: 2014/02/19-15:51:33) (bytes: 27981892  ) somefile.zip
      27.98M 100%   82.27MB/s    0:00:00 (xfer#1, to-check=0/2) 0
2014/02/20 09:51:49 INFO total: matches=0  hash_hits=0  false_alarms=0 data=27981892 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25205] (sender) heap statistics: 
2014/02/20 09:51:49 INFO   arena:        1060864   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            1   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             4 
2014/02/20 09:51:49 INFO   hblks:              1   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        135168   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:       1196032   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          304 
2014/02/20 09:51:49 INFO   uordblks:      667008   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:      393856   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:      393552   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25207] (server receiver) heap statistics: 
2014/02/20 09:51:49 INFO   arena:         286720   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            2   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             3 
2014/02/20 09:51:49 INFO   hblks:              3   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        667648   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:        954368   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          224 
2014/02/20 09:51:49 INFO   uordblks:      174480   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:      112240   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:      102352   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO rsync[25206] (server generator) heap statistics: 
2014/02/20 09:51:49 INFO   arena:         135168   (bytes from sbrk) 
2014/02/20 09:51:49 INFO   ordblks:            2   (chunks not in use) 
2014/02/20 09:51:49 INFO   smblks:             6 
2014/02/20 09:51:49 INFO   hblks:              2   (chunks from mmap) 
2014/02/20 09:51:49 INFO   hblkhd:        401408   (bytes from mmap) 
2014/02/20 09:51:49 INFO   allmem:        536576   (bytes from sbrk + mmap) 
2014/02/20 09:51:49 INFO   usmblks:            0 
2014/02/20 09:51:49 INFO   fsmblks:          400 
2014/02/20 09:51:49 INFO   uordblks:       82960   (bytes used) 
2014/02/20 09:51:49 INFO   fordblks:       52208   (bytes free) 
2014/02/20 09:51:49 INFO   keepcost:       32816   (bytes in releasable chunk) 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO Number of files: 2 
2014/02/20 09:51:49 INFO Number of files transferred: 1 
2014/02/20 09:51:49 INFO Total file size: 27.98M bytes 
2014/02/20 09:51:49 INFO Total transferred file size: 27.98M bytes 
2014/02/20 09:51:49 INFO Literal data: 27.98M bytes 
2014/02/20 09:51:49 INFO Matched data: 0 bytes 
2014/02/20 09:51:49 INFO File list size: 93 
2014/02/20 09:51:49 INFO File list generation time: 1.277 seconds 
2014/02/20 09:51:49 INFO File list transfer time: 0.000 seconds 
2014/02/20 09:51:49 INFO Total bytes sent: 27.99M 
2014/02/20 09:51:49 INFO Total bytes received: 34 
2014/02/20 09:51:49 INFO  
2014/02/20 09:51:49 INFO sent 27.99M bytes  received 34 bytes  11.20M bytes/sec 
2014/02/20 09:51:49 INFO total size is 27.98M  speedup is 1.00 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.