Você pode usar arquivos tar incrementais com gnu tar (mas não bsd tar) sobre ssh para transferir apenas as alterações. O primeiro tar será nível 0, então nível 1 ... Você precisará manter o arquivo snapshot.snar e referenciá-lo a cada vez, senão ele criará um novo nível 0.
$ tar --listed-incremental snapshot.snar -cf - dir | ssh user@host "tar --listed-incremental=/dev/null -xf -"
Se você quiser usar a compactação para acelerar a transferência, adicione um comutador 'z' ou 'j' aos dois comandos tar.