RSYNC thực hiện sao lưu gia tăng như thế nào


14

Làm thế nào để rsyncbiết tập tin nào được thay đổi và tập tin nào không? Nó có ghi lại dữ liệu của nó ở bất cứ đâu trong tập tin không?

Bởi vì tôi muốn thực hiện sao lưu gia tăng, nhưng trước tiên nó sẽ chuyển tất cả các tệp.

Vì vậy, câu hỏi chính của tôi là: nếu tôi tải lên các tệp ban đầu qua FTP nhưng không phải bởi rsync. rsyncVẫn sẽ bỏ qua các tệp hiện có hoặc nó sẽ tải lên mọi thứ trong lần chạy đầu tiên.

Câu trả lời:


12

Rupync có một số cờ kiểm soát những gì nó sẽ xem và những gì nó sẽ sao chép đến đích. Thông thường cờ "-a" được sử dụng là cờ "Lưu trữ", đây có thể là những gì bạn muốn. chạy rsync với các cờ "-av" và để nó thực hiện lần chạy đầu tiên đối với dữ liệu bạn muốn sao lưu. Lần sau khi chạy, nó sẽ thực hiện kiểm tra khối tệp và chỉ sao chép các phần đã được sửa đổi trên các tệp hiện có, sao chép các tệp mới và xóa các tệp không còn ở đó. Kiểm tra phần tùy chọn "-a" trên:

http://linux.die.net/man/1/rsync

Lần chạy đầu tiên sẽ là BandWidth chuyên sâu, các lần chạy sau rất có thể là chuyên sâu về bộ xử lý nhưng sử dụng ít Băng thông so với lần chạy ban đầu. Trừ khi bạn có nhiều khúc mắc trong bộ dữ liệu của mình.

Rsync không quan tâm làm thế nào bạn có được các tệp trong nguồn hoặc các thư mục đích, nó sẽ chỉ sao chép các thay đổi giữa hai, trừ khi bạn thêm cờ để làm điều gì đó khác biệt.

Nếu bạn muốn ghi lại những gì đã thay đổi, bạn có thể sử dụng tùy chọn "--log-file". Tất cả trong tất cả những thứ như thế này nghe giống như những gì bạn muốn:

rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups

9

rsync không làm 'gia tăng', nó giống như 'vi sai'. nó không chuyển các thay đổi (giả sử một số kiến ​​thức về lần chạy trước), nó chuyển các khác biệt (bằng cách so sánh nguồn với các tệp đích)

đơn giản hóa quá trình:

  • đầu tiên kiểm tra kích thước tệp, ngày tạo / sửa đổi, cờ ... nếu tất cả đều giống hệt nhau, bỏ qua tệp.
  • nếu không có tệp nào có tên đó trên mục tiêu, chỉ cần sao chép toàn bộ tệp.
  • nếu có một tệp trên mục tiêu, nó sẽ tính toán tổng cho mỗi 2KB của tệp và chuyển đến người gửi.
  • người gửi so sánh nội dung của tệp gốc và so sánh với mục tiêu và chuyển bất kỳ dữ liệu nào chưa có, cùng với các tham chiếu đến bất kỳ dữ liệu phù hợp nào. cùng với đó, mục tiêu có thể xây dựng lại toàn bộ tệp bằng cách sử dụng các phần của mục tiêu cũ và các khối mới.

5

rsync không ghi nhật ký bất kỳ dữ liệu nào, nó kiểm tra dấu thời gian sửa đổi tệp và sau đó nội dung. nếu bạn tải lên bằng ftp trước thì sẽ ổn thôi - rsync sẽ không truyền lại tất cả dữ liệu nhưng có thể sẽ đi qua tất cả nội dung và sửa dấu thời gian. nhưng sẽ không có chuyển khoản lớn nữa.


5

Có thể tôi là người sao lưu nhưng sao lưu gia tăng có nghĩa là bạn có bản sao lưu đầy đủ trước tiên. Sau đó, bạn đã sao lưu các tập tin thay đổi kể từ bản sao lưu đó. Sau đó, bạn có một bản sao lưu khác của các bản sao lưu đã thay đổi từ bản trước đó, v.v. Vì vậy, bạn cần bản sao lưu đầy đủ và tất cả các bản sao lưu gia tăng kể từ bản sao lưu đó.

Vì vậy, chỉ sử dụng chế độ lưu trữ không phải là một bản sao lưu gia tăng . Tôi nghĩ rằng sự khác biệt rất quan trọng vì điều đó có nghĩa là bạn không thể quay ngược thời gian để lấy các tập tin trước khi chúng thay đổi .

Nếu bạn muốn thực hiện sao lưu gia tăng thực sự, bạn sử dụng các tùy chọn như --backup-dir. Có một ví dụ ở đây .


1
+1 để phân biệt giữa sao lưu gia tăng và phản chiếu (đó là những gì rsync làm theo mặc định).
sleske

À đúng rồi! Phản chiếu là từ mà tôi đang nắm bắt, gọi tốt :-)
Kyle Brandt

0

Nếu câu hỏi thực sự là "Tôi muốn thực hiện sao lưu gia tăng qua rsync", có một vài tùy chọn có sẵn. Tôi sử dụng Dirvish:

http://www.dirvish.org/

Khôi phục rất dễ dàng vì nó cung cấp cho bạn ảnh chụp nhanh: nó sử dụng các liên kết cứng để cung cấp cho bạn các ảnh chụp nhanh hoàn chỉnh trong khi tiết kiệm không gian trong đó một tệp giống hệt nhau. Trong nội bộ, nó sử dụng tùy chọn --link-mệnh của rsync:

--link-dest=DIR         hardlink to files in DIR when unchanged

Vì nó sử dụng rsync, nó cũng tiết kiệm băng thông mạng (và do đó thời gian) trong đó các thay đổi là rất nhỏ. Nó cũng hoạt động nếu bạn tar và sneakernet một hình ảnh dirvish được tạo cục bộ trước, nếu bạn có nhiều tệp và một liên kết chậm.

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.