Có thể đồng bộ hai thư mục linux trong thời gian thực?


25

Tôi muốn đồng bộ một thư mục của một ổ cứng nội bộ với một ổ cứng ngoài.

Khi tôi viết hoặc sửa đổi một tệp trên ổ cứng nội bộ của mình, tự động cùng một tệp sẽ được sao chép vào ổ cứng ngoài ... và tạm biệt sao lưu;)

Đây sẽ là một cái gì đó giống như RAID với một ổ cứng ngoài.

Điều này có thể không?


22
Tôi sợ rằng suy nghĩ "bye bye backup" gần như không bao giờ phù hợp, hoặc chính xác.
Ben Pilbrow

Nghiêm túc. Ben nói gì. Đây KHÔNG phải là một thay thế cho sao lưu.
Duncan X Simpson

Câu trả lời:


8

Trong thời gian thực theo như tôi biết chỉ có DRBD . Nhưng tôi không nghĩ nó áp dụng cho tình huống của bạn, vì khi bạn xóa một tệp bạn cũng sẽ xóa nó trên đĩa bên ngoài. Dễ dàng hơn, bạn có thể sử dụng rsync và tập lệnh cron chạy cứ sau vài phút.


Cảm ơn bạn vì câu trả lời. Nhưng nếu "cron" rsync chạy mỗi ..5 phút, nó có ảnh hưởng đến hiệu suất không? Nó không quá nặng (nó kiểm tra mọi tập tin nếu có gì đó bị thay đổi?)?
stighy

Đó là lý do tại sao họ phát minh ra hệ thống tệp có khả năng chụp nhanh;)
PiL

1
DRBD có thể hơi phức tạp để định cấu hình, nếu bạn cần trợ giúp cấu hình nó, tôi đã viết một bài viết hay: geek-kb.com/install-and-configure-drbd-centos-6
Itai Ganot

30

lsyncd dường như là giải pháp hoàn hảo. nó kết hợp inotify (chức năng phù hợp với hàm dựng sẵn của kernel để thay đổi tệp trong cây thư mục) và rsync (công cụ đồng bộ hóa tệp đa nền tảng).

lsyncd -rsyncssh /home remotehost.org backup-home/

Trích dẫn từ github:

Lsyncd xem một giao diện giám sát sự kiện cây thư mục cục bộ (inotify hoặc fsevents). Nó tổng hợp và kết hợp các sự kiện trong vài giây và sau đó sinh ra một (hoặc nhiều) quá trình để đồng bộ hóa các thay đổi. Theo mặc định, đây là rsync. Do đó, Lsyncd là một giải pháp nhân bản trực tiếp có trọng lượng nhẹ, tương đối dễ cài đặt, không yêu cầu hệ thống tập tin hoặc blockdevice mới và không cản trở hiệu suất của hệ thống tập tin cục bộ.


1
con lừa không phải là hai chiều
tymik

8

Bạn chỉ có thể tạo Phần mềm RAID1 qua các ổ cứng bên trong và bên ngoài. Đối với hệ thống, nó không tạo ra sự khác biệt nếu đó là ổ cứng tích hợp hoặc bộ lưu trữ lớn được gắn bên ngoài.

Nhưng RAID không có bản sao lưu! Điều gì xảy ra nếu bạn vô tình xóa một tập tin trên ổ cứng của bạn? Nó cũng bị xóa trên ổ đĩa "sao lưu" bên ngoài của bạn.

Sao lưu thường bao gồm nhiều hơn một thế hệ tệp để bạn có thể truy xuất các tệp vô tình bị xóa khỏi tệp.


4
+1 lớn cho "RAID không sao lưu" rõ ràng.
nickgrim

Ngoài ra một cuộc đột kích phần mềm với các thành viên ổ cứng bên trong và bên ngoài có lẽ sẽ rất chậm, không đáng tin cậy và được chỉ định để phá vỡ khá thường xuyên.
David

2

incron (như đề xuất với tôi trên trang web này vào đầu năm nay).

Nó vẫn không thay thế cho một thủ tục sao lưu thích hợp mặc dù.


3
có lẽ tốt hơn là khắc nó vào đá.
Dee

1
@Dee Hãy giải thích nhận xét này. Là incron không phải là một giải pháp tốt?
imolit


0

git-annex cũng có thể được sử dụng để đạt được điều này.

git-annex cho phép quản lý tệp bằng git mà không cần kiểm tra nội dung tệp vào git. Mặc dù điều đó có vẻ nghịch lý, nhưng nó hữu ích khi xử lý các tệp lớn hơn git hiện có thể dễ dàng xử lý, cho dù do giới hạn về bộ nhớ, thời gian hoặc dung lượng ổ đĩa

Có một hướng dẫn để nhanh chóng đưa người dùng đến tốc độ với git-annex


Trong khi về mặt lý thuyết có thể trả lời câu hỏi, [tốt hơn là nên] bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Itai Ganot
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.