Se você instalar a versão 3+ do rsync, ela fará uma lista contínua de arquivos para transferir e não precisará manter toda a lista de arquivos na memória. No futuro, você provavelmente desejará considerar o hash dos nomes de arquivos e a criação de uma estrutura de diretório baseada em partes desses hashes.
Você pode ver esta resposta para ter uma ideia do que quero dizer com hashing.