Melhorar a velocidade de varredura do RSYNC / Aproximação alternativa?

3

Estou usando o rsync para transferir arquivos de log de aplicativos de um servidor para outro. Ele funciona bem com a exceção de que a varredura dos diretórios leva uma eternidade. Eu tenho cerca de 160.000 arquivos de log e alguns milhares de diretórios para que eu possa entender por que a digitalização leva tanto tempo. No entanto, apenas alguns desses arquivos são alterados em qualquer sincronização, por isso estou pensando se há uma maneira mais eficiente ou opção de rsync que pode acelerar isso? Os próprios arquivos de log são pequenos (apenas alguns kb cada).

Obrigado!

    
por Jason 21.02.2013 / 23:43

1 resposta

2

Na página de manual :

Beginning with rsync 3.0.0, the recursive algorithm used is now an incremental scan that uses much less memory than before and begins the transfer after the scanning of the first few directories have been completed. This incremental scan only affects our recursion algorithm, and does not change a non-recursive transfer. It is also only possible when both ends of the transfer are at least version 3.0.0.

Some options require rsync to know the full file list, so these options disable the incremental recursion mode. These include: --delete-before, --delete-after, --prune-empty-dirs, and --delay-updates. Because of this, the default delete mode when you specify --delete is now --delete-during when both ends of the connection are at least 3.0.0 (use --del or --delete-during to request this improved deletion mode explicitly). See also the --delete-delay option that is a better choice than using --delete-after.

Se você estiver usando qualquer uma das opções mencionadas ou versões mais antigas do rsync, você pode estar desativando o modo de recursão incremental aprimorado. Caso contrário, a única outra opção é dar ao rsync menos arquivos a serem considerados.

    
por 21.02.2013 / 23:51