Quando você rsync, você usa o --delete flag?
Se não, então você não removerá arquivos que foram removidos da máquina remota quando você fizer a sincronização, você só sincronizará os arquivos que fazem existirem.
Além disso, verifique se você está finalizando os caminhos da mesma maneira, por exemplo ...
rsync -a remote:/tmp/X ./tmp/X/
... não é o mesmo que ...
rsync -a remote:/tmp/X/ ./tmp/X/
... Antes de adicionar o --delete , certifique-se de fazer um --dry-run para poder ver o que acontecerá .