Você poderia usar a ferramenta unison 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á cada diretório e arquivo diferente nos dois diretórios solicitados para sincronização. Ele recomendará a sincronização adicional (replicação de arquivos ausentes nos dois locais) na execução inicial, criará e manterá uma árvore de sincronização em sua máquina e, em execuções subseqüentes, implementará a sincronização verdadeira (ou seja, se você excluir um arquivo de .../dirA , ele também será excluído de .../dirB .Você também pode comparar todas as mudanças e optar por encaminhar ou reverter a sincronização entre os dois diretórios.
Opcionalmente, para ativar a interface gráfica, simplesmente remova a opção -ui text do seu comando, embora eu ache o cli mais simples e rápido de usar.
Mais sobre isso: Tutorial do Unison na documentação do usuário do Unison .