Depende, em grande parte, se você deseja / precisa fazer o download de uma cópia completa de seus dados como instantâneos únicos; ou se as suas necessidades puderem ser atendidas com uma solução que permita o download das alterações / delta de modo incremental.
Se você precisar de uma cópia completa toda vez que baixar os dados; Você pode se beneficiar muito da criação de um único arquivo compactado no servidor primeiro e baixá-lo em vez de baixar recursivamente diretórios e seus conteúdos.
Os arquivos criados com zip
no servidor Linux são suportados nativamente nas versões mais recentes do Windows, até onde eu saiba. Algoritmos de compactação alternativos podem resultar em melhor taxa de compactação. Mesmo se os dados já estiverem compactados nativamente (como na maioria dos codecs de áudio e vídeo), em parte negando esse benefício, um único arquivo é ainda mais eficiente para baixar muitos arquivos individuais.
Tudo o que permitir que você faça o download de arquivos novos e modificados economizará muito tempo de transferência (embora, com um grande número de arquivos (muito pequenos) gerando e comparando a lista de arquivos, também possa ser demorado). Eu tenho visto clientes FTP que possuem uma opção de espelhamento que transfere apenas os delta, fazendo uma alteração mínima em seu esquema atual.
rsync
é o protocolo padrão e a ferramenta mais usada em grande parte do mundo UNIX para manter dois locais sincronizados e espelhados, transferindo apenas os delta's, os arquivos que foram alterados, criados ou excluídos. Como um protocolo antigo, ele não possui criptografia nativa e transmite dados e credenciais em texto não criptografado, e é por isso que você verá tunnelled sobre SSH na maioria dos casos. Clientes Windows que fazem rsync (por SSH) existem.
Recomendações específicas de produtos permanecem fora do assunto.