Làm cách nào để đồng bộ tệp / dữ liệu giữa hai PC trên mạng gia đình?


11

Tôi có một máy tính để bàn và một máy tính xách tay với hầu hết các tệp trong thư mục chính của họ. Đôi khi tôi thực hiện thay đổi trong ~/Music, ~/Documents, vv Tuy nhiên, những thay đổi này tất nhiên không ảnh hưởng đến máy khác.

Vì vậy, tôi muốn có một giải pháp để đồng bộ tất cả dữ liệu trong các thư mục nhà của máy tính xách tay và máy tính để bàn của tôi. Thỉnh thoảng tôi có thể kết nối chúng với cáp chéo.

Tôi không muốn sử dụng Ubuntu One hoặc Dropbox (các tệp rất lớn và không cần sử dụng Internet khi cả hai đều ở trên mạng gia đình).


Dropbox cũng cung cấp đồng bộ hóa mạng nên có thể nó không nhất thiết là công cụ sai.
turbo

Câu trả lời:


8

Đối với một tập hợp nhỏ các tệp tôi đề xuất Dropbox hoặc Ubuntu One , nhưng có vẻ như bạn muốn đồng bộ bộ sưu tập nhạc của mình giữa các máy tính và cả hai đều không phù hợp vì hai lý do:

  • Cả hai đều đồng bộ hóa với internet, có nghĩa là các bộ sưu tập tệp lớn sẽ mất nhiều thời gian để tải xuống và tải lên
  • Họ cung cấp một lượng không gian hạn chế (với khả năng mua thêm), có nghĩa là đối với một bộ sưu tập lớn các tệp bạn có thể sẽ phải bỏ ra rất nhiều tiền

Unison , đó là những gì tôi sử dụng để nhân rộng cục bộ, không có những hạn chế này (vốn dĩ). Bạn có thể đồng bộ hóa qua mạng cục bộ của mình, nghĩa là nhanh chóng (bạn cũng có thể đồng bộ hóa qua internet nếu muốn) và có thể đồng bộ hóa bao nhiêu tùy ý - chỉ bị giới hạn bởi không gian đĩa và băng thông có sẵn của bạn. Unison có cả GUI và giao diện đầu cuối, nghĩa là bạn có thể sử dụng nó trên máy tính để bàn và máy chủ của mình như nhau. Có một hướng dẫn tốt trên wiki Ubuntu mà bạn có thể muốn tham khảo nếu bạn chọn sử dụng Unison.


1
Đây chính xác là những gì tôi đang tìm kiếm nhưng có một vấn đề trong đó imgur.com/Apqbq.png những người khác cũng gặp vấn đề tương tự với unison. Bạn có biết một giải pháp?
Gaurav Butola

1
Hmm, tôi chưa từng thấy điều đó, nhưng tôi đã tìm thấy lỗi Debian sau đây mà bạn có thể muốn theo dõi: bug.debian.org/cgi-bin/ormsreport.cgi?bug=252336 - nghe có vẻ như có vấn đề với chương trình bị gián đoạn. Hãy thử và loại bỏ các tập tin mà nó đề cập và có một đi khác. Nếu nó liên tục thì bạn có thể gặp nhiều may mắn hơn với phiên bản dòng lệnh (đó là phiên bản tôi sử dụng). Xin lỗi tôi không thể giúp đỡ nhiều hơn.
Iain Lane

Cảm ơn bạn đã giúp đỡ. Đây chính xác là những gì tôi muốn, Nó thực sự là một công cụ tuyệt vời, tôi đang đồng bộ hóa dữ liệu của mình thông qua SSH bằng cách sử dụng unison.
Gaurav Butola

7

Công cụ tốt nhất cho việc này là công cụ dòng lệnh "Rsync". Nếu bạn cần GUI, hãy thử Unison hoặc LuckyBackup, dựa trên khái niệm về Rupync. Unison và LuckyBackup đều nằm trong kho.

Một ví dụ về rsync có thể là:

rsync -vxtr / home / scaine / Pictures / / home / OtherUser / Pictures /

... sẽ đồng bộ hóa thư mục Ảnh của tôi với thư mục Ảnh của OtherUser. Các tùy chọn tôi đã chỉ định sẽ xác minh bất kỳ bản sao nào, giữ dấu thời gian / quyền trong khi sao chép và sẽ duyệt qua các thư mục con nơi tìm thấy. Làm "man rsync" để có thêm tùy chọn.

Đối với việc kết nối các PC của bạn với nhau - đặt chúng trên một công tắc / trung tâm hoặc sử dụng cáp chéo sau đó chia sẻ các thư mục qua samba.

EDIT: Một số điểm tốt để thực hiện nếu mục đích là "phản chiếu" hai PC. Lệnh này sẽ chỉ "thêm" các tệp từ nguồn đến đích. Nếu bạn cần xóa, thì bạn cũng sẽ cần tùy chọn -delete trong đó.

Khi điều tra, có vẻ như Rupync không xử lý phản chiếu đặc biệt tốt. Xem điều này để nhận ra rằng bạn có thể sẽ tìm thấy các tệp cũ ghi đè lên các tệp trẻ hơn trong bản cập nhật này! Tệ hơn, ngay cả khi bạn có tùy chọn -update hoạt động và ngăn chặn hành vi này, nó sẽ không "cập nhật" bản cũ hơn với tệp trẻ hơn - nó sẽ chỉ "bỏ qua" nó. Khó lý tưởng.

Cuối cùng, để thực hiện đồng bộ hai chiều, bạn sẽ cần chạy cùng một lệnh nhưng đảo ngược nguồn / mệnh. Tất nhiên, điều này hiện được sử dụng hạn chế, vì lệnh đầu tiên của bạn (giả sử bạn đã sử dụng tùy chọn -delete đó) sẽ xóa bất kỳ tệp nào trên đích không tồn tại trên nguồn. Unison xử lý đồng bộ hai chiều khá tốt, từ bộ nhớ.

Nếu bạn nghiêm túc cố gắng giữ đồng bộ nhiều chỉnh sửa, thì giải pháp Dropbox là cách tốt nhất để chuyển tiếp. Nếu bạn có thể có cái nhìn khác về UbuntuOne hoặc Dropbox, symlinking có thể là một giải pháp - chỉ symlink thư mục tài liệu của bạn, trong khi giữ Pictures và Music tắt One / Dropbox và sử dụng giải pháp rsync / unison này cho những thứ lớn?


Tôi sẽ đồng bộ toàn bộ / nhà của cả hai, liệu nó có đúng không? rsync -vxtr / home / user1 / home / user2 nó có thực hiện đồng bộ hai chiều không? Là nó sẽ giữ bản sao được chỉnh sửa mới nhất của một tài liệu hoặc chỉ bỏ qua các tập tin nếu nó tồn tại?
Gaurav Butola

Xem các chỉnh sửa của tôi cho câu hỏi ban đầu.
Scaine

1

Một vài lựa chọn thay thế dựa trên gui nếu bạn không muốn hoặc không thích sử dụng thiết bị đầu cuối

grsync như tên ngụ ý một gui cơ bản rsync.

unison unison sử dụng nhiều phụ trợ thay thế hơn grsyncnhưng khác hơn là họ làm điều tương tự

Bạn có thể cài đặt chúng từ Trung tâm phần mềm hoặc sử dụng apt-get


0

Câu trả lời đơn giản:

rsync -vzu user@ip.address:/remote/dir/*  /local/dir

Tùy chọn -u so sánh ngày và chỉ chuyển nếu ngày đích cũ hơn ngày nguồn.

-v có nghĩa là dài dòng, -z có nghĩa là sử dụng nén.

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.