Sincronização / backup unidirecional com Unison

9

Estou usando a ferramenta de sincronização Unison com minhas máquinas Mac OSX e Ubuntu 9.10 para fazer backup de minhas músicas do Mac para o Ubuntu. A questão é, eu quero que meu Mac seja a fonte e Ubuntu seja o alvo para que a máquina Ubuntu seja uma cópia exata da pasta Música no Mac o tempo todo, mas se eu deletar alguma coisa do Ubuntu, ela vai ganhar. t ser deletado no Mac. Eu olhei para os documentos, mas é meio que passar por cima da minha cabeça no momento.

    
por roflwaffle 18.01.2010 / 21:55

5 respostas

1

Uma ferramenta melhor para o trabalho pode ser o rsync (você precisará instalá-lo em ambos os computadores). Eu uso para manter a pasta de música do meu laptop em sincronia com um servidor de arquivos, o que é bem parecido com a sua situação. O rsync é especializado em manter uma cópia espelhada atualizada.

Uma linha de comando como essa pode ser útil (supondo que você a execute do Ubuntu):

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

É muito fácil alternar a linha acima se você quiser executá-la a partir do seu Mac e empurrar para o computador Ubuntu em vez de puxá-la.

    
por 18.01.2010 / 22:30
27

Use unison -force :

Manual:

Including the preference -force root causes Unison to resolve all differences (even non-conflicting changes) in favor of root. This effectively changes Unison from a synchronizer into a mirroring utility. You can also specify -force newer (or -force older) to force Unison to choose the file with the later (earlier) modtime. In this case, the -times preference must also be enabled. This preference is overridden by the forcepartial preference. This preference should be used only if you are sure you know what you are doing!

Por exemplo (usando o modo de soquete). Inicie o ouvinte de uníssono no diretório que você deseja que seja um espelho de outra coisa. Segmente esse socket na chamada do cliente unison. Força faz com que as alterações sejam todas de UMA MANEIRA da raiz especificada.

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

Em outro lugar ou no mesmo host:

unison -silent -force /home/test/thing2 /home/test/thing2 socket://somehost:123456/
    
por 13.06.2011 / 22:35
2

Enquanto a resposta de TheToasterThatCould for 'work', lembre-se de que não fará o backup correto do sistema de arquivos do Mac "Resource Forks"

Embora a versão Mac OSX do rsync esteja ciente do recurso, as versões linux do rsync não são (e provavelmente nunca serão, porque a versão Apple do rsync é específica do OSX e não apresenta esses recursos ao rsync no outro fim de uma maneira que uma versão não-OSX do rsync pode manipular). O resultado disso é que os forks de recursos não serão rsync'd entre máquinas Mac e Linux.

Certos aplicativos do Mac utilizam garfos de recursos para armazenar dados relacionados ao arquivo específico. Se você tem certeza de que seus arquivos que você está sincronizando não precisam ou usam garfos de recursos, então deve ser OK usar o rsync.

Se você quiser sincronizar os forks de recursos, o unison será a melhor abordagem, pois (de acordo com documentos uníssonos) ele pode sincronizar os forks de recursos.

    
por 15.12.2013 / 00:47
0

FreeFileSync é uma aplicação de código aberto capaz de espelhar um diretório. Pode ser executado para sincronização unidirecional ou bidirecional ou no modo "contribuir". Posso dizer que ele pode fazer o trabalho do Synctoy da Microsoft. O FreeFileSync pode ser usado livremente no Mac OS X, Linux e Windows.

    
por 20.10.2014 / 21:13
-1

Atualmente, unison /home/test/thing2 /home/test/thing2 socket://somehost:123456/ -silent -batch funcionará, onde -batch não indica nenhuma dúvida

    
por 26.02.2018 / 14:39