Uma solução que lida com hosts locais e remotos (por meio de ssh) seria rsync
:
rsync -av -n -c src/ dst/
O -n
sinalizador diz ao rsync
para não fazer nenhuma transferência - então a saída seria apenas os arquivos que ele deseja que transfiram, ou os arquivos alterados. O -c
garante que o rsync faça uma comparação MD5. Se você quiser apenas fazer uma correspondência com o tamanho e a hora da última modificação, basta omitir -c
.
Outro método seria verificar os dois diretórios em git
repositories. Isso requer uma familiaridade significativa com git
, mas poderia ser conseguido mantendo os arquivos de cada host em uma ramificação separada. Em seguida, pode-se usar git fetch
(que omite a mesclagem implícita de git pull
) e usar git diff
entre filiais para inspecionar as alterações. Esta questão pode ser útil em tal configuração.