Eu tenho duas máquinas Ubuntu, um laptop e uma área de trabalho. O que desejo fazer é criar uma pasta em ambas as máquinas nos caminhos 'path1' e 'path2'. Desejo configurar a sincronização entre as duas pastas sempre que estiverem conectadas à mesma rede local (área de trabalho através de Ethernet e laptop através de WLAN). Por exemplo, se eu criar um arquivo path1 / x, ele também aparecerá no caminho2 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 dos dois diretórios simultaneamente]
networking
sync
file-sharing
shared-folders
axolotl
fonte
fonte
Respostas:
[Respondendo à minha própria pergunta e encontrei uma boa maneira de fazer isso]
Use a
unison
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,
unison
exibirá todos os diretórios e arquivos diferentes nos dois diretórios que você pediu para sincronizar. Ele recomendará sincronizar de forma aditiva (replicar o arquivo ausente nos dois locais) na execução inicial, 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.../dirA
, vai ficar excluído do.../dirB
bem. Você também pode comparar cada mudança e, opcionalmente, optar por encaminhar ou inversa sincronizar entre os dois diretórios.Opcionalmente, para iniciar a interface gráfica, basta remover a
-ui text
opção do seu comando, embora eu ache ocli
mais simples e rápido de usar.Mais sobre isso: tutorial do Unison na documentação do usuário do Unison .
fonte
Confira este tutorial sobre como sincronizar pastas usando o rsync .
Felicidades
fonte