Desde que você adicionou uma tag do Solaris, qual versão você está usando? Assim como o (s) sistema (s) de arquivos que você está usando? Se for UFS, você pode migrar para o ZFS, que manipula muitos arquivos menores melhor do que o UFS. Pode ter sido Roche quem comparou isso.
ie: se você está no ZFS, você pode criar um conjunto de dados para cada diretório principal e replicá-lo para um sistema de arquivos ou sistema diferente onde um nível mais alto de compactação é definido. Incluindo possivelmente dedup.
Com base na estrutura dir, todos os arquivos são exibidos no mesmo FS que você está fazendo backup. Portanto, uma opção paralela pode não ajudar, já que suspeito que o IO será o fator limitante, não os recursos da CPU.
Você pode tentar colocar os trabalhos em segundo plano, como sugere @Romeo Ninov. Ou até mesmo criar um script para cada diretório e executá-los ao mesmo tempo. No final, apenas jogando e testando várias opções você saberá com certeza o que pode ou não ajudar a encontrar o que melhor atende às suas necessidades. Incluindo diferentes arquivadores e algoritmos de compressão.
Por exemplo, se a velocidade for mais importante, tente um nível mais baixo de compactação em gzip
ou use compress
ou zip
.
Além disso, se você não acha que a CPU é um problema e tem vários, você pode tentar usar um pigz (implementação paralela do gzip) para ver se isso ajuda. Esse pkg está no repositório de suporte para v11, mas você precisa obter o código-fonte e compilá-lo para versões anteriores do Solaris.
Recrete também timex
na frente de cada comando, já que pode ser apenas um dos diretórios. dando-lhe a lentidão. Se sim, concentre-se em otimizar esse.