Nesse caso, eu usaria rsync com essa opção:
rsync -av --delete <src> <dst> >> <dst log.success> 2>> <dst log.error>
A opção -a é um sinalizador de combinação.
Ele significa "arquivar" e sincroniza recursivamente e preserva links simbólicos, arquivos especiais e de dispositivo, horários de modificação, grupo, proprietário e permissões.
É mais comumente usado que -r e geralmente é o que você deseja usar.
A -v flag (para verbose).
A opção --delete é necessária para excluir arquivos do diretório de destino, se eles forem removidos da origem. Por padrão, o rsync não exclui nada do diretório de destino.
Se você quiser usar rsync , mas, acho que usar o armazenamento em nuvem é a melhor solução no seu caso