Sincronize uma pasta específica entre duas máquinas Ubuntu quando conectadas à mesma LAN

Sincronize uma pasta específica entre duas máquinas Ubuntu quando conectadas à mesma LAN

Eu tenho duas máquinas Ubuntu, um laptop e um desktop. O que eu desejo fazer é criar uma pasta em ambas as máquinas nos caminhos 'path1' e 'path2'. Quero configurar a sincronização entre as duas pastas sempre que elas estiverem conectadas à mesma rede local (Desktop por Ethernet e Laptop por WLAN). Por exemplo, se eu criar um arquivo path1/x, ele também aparecerá no path2 como path2/x.

Existe uma maneira de fazer isso? [Tudo bem se a sincronização de exclusão não funcionar e eu tiver que excluir manualmente um arquivo de ambos os diretórios simultaneamente]

Responder1

[Respondendo à minha própria pergunta, pois encontrei uma boa maneira de fazer isso]

Use unisona ferramenta desenvolvida por Benjamin Pierce na U Penn.

Vamos supor que você tenha dois diretórios,

/home/user/Documents/dirA/e/home/user/Documents/dirB/

Para sincronizar esses dois, você pode usar:

~$unison -ui text /home/user/Documents/dirA/ /home/user/Documents/dirB/

Na saída, unisonexibirá todo e qualquer diretório e arquivo que estiverdiferentenos dois diretórios que você solicitou para sincronizar. Ele recomendará sincronizar aditivamente (replicar o arquivo ausente em ambos os locais) na execução inicial, depois criar e manter uma árvore de sincronização em sua máquina e, nas execuções subsequentes, implementará a sincronização verdadeira (ou seja, se você excluir um arquivo do .../dirA, ele também será excluído .../dirB. Você também pode comparar cada alteração e, opcionalmente, optar por fazê-lo.avançarourevertersincronizar entre os dois diretórios.

Opcionalmente, para iniciar a interface gráfica, basta remover a -ui textopção do seu comando, embora eu ache a climais simples e rápida de usar.

Mais sobre isso:Documentação Unison no GitHub.

Responder2

Confira este tutorial emcomo sincronizar pastas usando rsync.

Saúde

informação relacionada