Existem inúmeras opções para programas ou até mesmo sistemas de arquivos que lidam com a sincronização. Eu ainda uso o ridiculamente antigo programa uníssono para manter alguns dos meus diretórios pessoais em sincronia. Existem outros programas semelhantes a isso também. Para situações mais fáceis que exigem apenas uma maneira de lidar, rsync
faz o trabalho muito bem.
Para a sincronização entre plataformas, a sempre popular caixa de depósito é sempre uma opção, embora eu também procure alternativas mais abertas, como < href="http://cloudfs.org/"> cloudfs .
Outra coisa que você deve considerar é o controle de versão. A princípio, pode não parecer adequado, mas, se você realmente analisar seu problema de sincronização, poderá descobrir que o controle de versão é apenas o ticket. Isso lhe dá muito mais liberdade para mudar as coisas em vários lugares sem quebrar a sincronização (a sincronização bidirecional é sempre um desafio). A capacidade de rastrear e mesclar diferentes conjuntos de alterações pode ser inestimável. Você pode considerar um sistema distribuído como git
ou um sistema central como subversion
dependendo do seu aplicativo, embora, com toda a probabilidade, se você der uma olhada no modelo distribuído, ele se mostrará melhor a longo prazo.