Đồng bộ hóa / sao lưu một chiều với Unison


13

Tôi đang sử dụng công cụ đồng bộ Unison với máy Mac OSX và Ubuntu 9.10 của mình để sao lưu nhạc từ Mac sang Ubuntu. Vấn đề là, tôi muốn máy Mac của mình là nguồn và Ubuntu là mục tiêu để máy Ubuntu sẽ là bản sao chính xác của thư mục Âm nhạc trên máy Mac mọi lúc, nhưng nếu tôi xóa thứ gì đó khỏi Ubuntu, nó sẽ thắng ' t bị xóa trên máy Mac. Tôi đã xem các tài liệu nhưng nó là loại đi qua đầu tôi vào lúc này.

Câu trả lời:


1

Một công cụ tốt hơn cho công việc có thể là rsync (bạn sẽ cần cài đặt nó trên cả hai máy tính). Tôi sử dụng nó để giữ cho thư mục nhạc máy tính xách tay của tôi đồng bộ với một máy chủ tập tin gia đình, khá giống với tình huống của bạn. rsync chuyên giữ một bản sao nhân bản cập nhật.

Một dòng lệnh như thế này có thể hữu ích (giả sử bạn chạy nó từ Ubuntu):

rsync -a --delete-before myMacMachineName:/MyMusic/ /mymusic/

Khá dễ dàng để chuyển dòng trên nếu bạn muốn chạy nó từ máy Mac của mình và đẩy sang máy tính Ubuntu thay vì kéo.


33

Sử dụng unison -force:

Hướng dẫn sử dụng:

Bao gồm các ưu tiên -force rootkhiến Unison giải quyết tất cả các khác biệt (thậm chí thay đổi không xung đột) có lợi cho root. Điều này thực sự thay đổi Unison từ bộ đồng bộ hóa thành tiện ích phản chiếu. Bạn cũng có thể chỉ định -force newer(hoặc -force older) để buộc Unison chọn tệp có thời gian sửa đổi sau (sớm hơn). Trong trường hợp này, -timesưu tiên cũng phải được kích hoạt. Ưu tiên này được ghi đè bởi các forcepartialưu tiên. Ưu tiên này chỉ được sử dụng nếu bạn chắc chắn bạn biết bạn đang làm gì!

Ví dụ (sử dụng chế độ ổ cắm). Khởi động unison listener trong thư mục mà bạn muốn trở thành một tấm gương của một cái gì đó khác. Nhắm mục tiêu ổ cắm trong cuộc gọi máy khách unison. Lực lượng gây ra thay đổi là tất cả MỘT CÁCH từ gốc đã cho.

cd /target/mirror/directory
unison -socket 123456 &

Ở nơi khác hoặc trên cùng một máy chủ:

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/

1
Cú pháp cho tệp hồ sơ là chỉ định đường dẫn đến thư mục gốc cho biến lực. Tức làforce = /home/me/mysynchdir
Daniel

2

Trong khi câu trả lời của TheToasterThatCould sẽ 'hoạt động', xin lưu ý rằng nó sẽ không sao lưu chính xác hệ thống tệp Mac "Resource Funt"

Mặc dù phiên bản rsync của Mac OSX là nhận biết tài nguyên, nhưng phiên bản rsync của linux thì không (và có thể sẽ không bao giờ, vì phiên bản rsync của Apple là dành riêng cho OSX và không trình bày các tài nguyên đó cho rsync ở đầu bên kia một cách mà phiên bản rsync không phải OSX có thể xử lý). Kết quả của việc này là các nhánh tài nguyên sẽ không được kết nối giữa máy Mac và linux.

Một số ứng dụng Mac sử dụng các nhánh tài nguyên để lưu trữ dữ liệu liên quan đến tệp cụ thể. Nếu bạn chắc chắn rằng các tệp mà bạn đang đồng bộ hóa không cần hoặc sử dụng các tài nguyên, thì bạn có thể sử dụng rsync.

Nếu bạn muốn đồng bộ các nhánh tài nguyên, thì unison sẽ là cách tiếp cận tốt hơn bởi vì (theo tài liệu unison) nó có thể đồng bộ các nhánh tài nguyên.


0

FreeFileSync là một ứng dụng mã nguồn mở có khả năng phản chiếu một thư mục. Nó có thể chạy cho đồng bộ một chiều hoặc hai chiều hoặc trong chế độ "đóng góp". Tôi có thể nói rằng nó có thể thực hiện công việc của Synctoy của Microsoft. FreeFileSync có thể được sử dụng miễn phí trong Mac OS X, Linux và Windows.


-1

Hiện tại, unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batchsẽ hoạt động, nơi -batchcho thấy không có câu hỏi nào cả

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.