A melhor opção, como já postada, é, obviamente, o rsync. No entanto, também o uníssono seria um ótimo software para fazer esse trabalho. Ambos podem ser usados em vários sistemas operacionais.
Rsync
O rsync sincroniza em uma direção da origem ao destino. Portanto, a seguinte declaração
rsync -avh --progress Source Destination
sincroniza tudo, desde a origem até o destino . A pasta mesclada reside em Destino .
-a significa "arquivar" e copia tudo recursivamente da origem ao destino, preservando quase tudo.
-v fornece mais saída ("detalhado").
-h para legível por humanos.
- progrida para mostrar quanto trabalho é feito.
Se você deseja atualizar apenas a pasta de destino com arquivos mais recentes da pasta de origem:
rsync -avhu --progress source destination
Uníssono
uníssono sincroniza em ambas as direções. Portanto, a seguinte declaração
unison Source Destination
sincroniza os dois diretórios nas duas direções e, finalmente, a origem é igual ao destino. É como fazer o rsync duas vezes da fonte ao dest e vice-versa.
Para usos mais avançados, consulte as páginas de manual ou os seguintes sites:
- https://www.cis.upenn.edu/~bcpierce/unison/
- https://rsync.samba.org/