Unison ile tek yönlü senkronizasyon / yedekleme


13

Eşzamanlama aracı Unison'u Mac OSX ve Ubuntu 9.10 makinelerimle kullanarak müziğimi Mac'ten Ubuntu'ya yedekliyorum. Mesele şu ki, Mac'imin kaynak olmasını ve Ubuntu'nun hedef olmasını istiyorum, böylece Ubuntu makinesi her zaman Mac'teki Müzik klasörünün tam bir kopyası olacak, ancak Ubuntu'dan bir şey silersem, ' t Mac'te silinmez. Dokümanlara baktım ama şu an kafamın üzerinden geçiyor.

Yanıtlar:


1

İş için daha iyi bir araç rsync olabilir (her iki bilgisayara da yüklemeniz gerekir). Dizüstü bilgisayarınızın müzik klasörünü, durumunuza oldukça benzeyen bir ev dosya sunucusuyla senkronize tutmak için kullanıyorum. rsync bir ayna kopyasını güncel tutma konusunda uzmandır.

Bunun gibi bir komut satırı yararlı olabilir (Ubuntu'dan çalıştırdığınız varsayılarak):

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

Mac'inizden çalıştırmak ve çekmek yerine Ubuntu bilgisayarına göndermek istiyorsanız yukarıdaki satırı değiştirmek oldukça kolaydır.


33

Kullanım unison -force:

Manuel:

Tercihi dahil etmek -force root, Unison'un tüm farklılıkları (hatta çelişmeyen değişiklikler bile) kök lehine çözmesine neden olur. Bu, Unison'u senkronizörden bir yansıtma yardımcı programına etkili bir şekilde değiştirir. Ayrıca Unison'u daha sonraki (önceki) mod zamanı olan dosyayı seçmeye zorlamak için -force newer(veya -force older) belirtebilirsiniz . Bu durumda, -timestercihin de etkinleştirilmesi gerekir. Bu tercih tercih tarafından geçersiz kılınır forcepartial. Bu tercih yalnızca ne yaptığınızı bildiğinizden eminseniz kullanılmalıdır!

Ör. (Soket modunu kullanarak). Dizinde başka bir şeyin aynası olmasını istediğiniz birlik dinleyicisini başlatın. Unison istemci çağrısındaki soketi hedefleyin. Kuvvet, değişikliklerin verilen kökten TEK YÖN olmasına neden olur.

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

Başka bir yerde veya aynı ana bilgisayarda:

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

2
Profil dosyasının sözdizimi, force değişkeni için kök dizinin yolunu belirtmektir. Yani,force = /home/me/mysynchdir
Daniel

2

TheToasterThatCould'un cevabı 'işe yarayacaktır', ancak Mac dosya sistemi "Kaynak Çatalları" nın doğru bir şekilde yedeklenmeyeceğini lütfen unutmayın.

Rsync'in Mac OSX sürümü kaynak çatalı farkında olsa da, rsync'in linux sürümleri değildir (ve muhtemelen asla olmayacaktır, çünkü rsync'in Apple sürümü OSX'e özgüdür ve bu kaynak çatallarını diğer tarafta rsync'e sunmaz. rsync'in OSX olmayan bir sürümünün işleyebileceği bir yol). Bunun sonucu, Mac ve Linux makineleri arasında kaynak çatallarının yeniden yapılandırılmamasıdır.

Bazı Mac uygulamaları, belirli bir dosyayla ilgili verileri depolamak için kaynak çatallarını kullanır. Senkronize ettiğiniz dosyaların kaynak çatallarına ihtiyaç duymadığından veya kaynak çatalları kullanmadığından eminseniz, rsync'i kullanmanız uygun olacaktır.

Kaynak çatallarını senkronize etmek istiyorsanız, unison daha iyi bir yaklaşım olacaktır çünkü (unison belgelerine göre) kaynak çatallarını senkronize edebilir.


0

FreeFileSync , bir dizini yansıtabilen açık kaynaklı bir uygulamadır. Tek yönlü veya iki yönlü senkronizasyon veya "katkı" modunda çalışabilir. Microsoft Synctoy işini yapabileceğini söyleyebilirim. FreeFileSync, Mac OS X, Linux ve Windows'ta serbestçe kullanılabilir.


-1

Şu anda unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batchçalışacak, burada -batchhiç soru yok

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.