Você deve verificar se a maior parte do seu tempo está sendo gasta na CPU ou na E / S. De qualquer maneira, existem maneiras de melhorá-lo:
A: não comprima
Você não mencionou "compressão" em sua lista de requisitos de modo a tentar deixar cair o "z" de sua lista de argumentos: tar cf
. Isso pode acelerar um pouco as coisas.
Existem outras técnicas para acelerar o processo, como usar "-N" para ignorar arquivos dos quais você já fez backup anteriormente.
B: faça backup de toda a partição com dd
Como alternativa, se você estiver fazendo backup de uma partição inteira, faça uma cópia de toda a imagem do disco. Isso economizaria o processamento e muito tempo de busca da cabeça do disco. tar
e qualquer outro programa que esteja trabalhando em um nível superior tem a sobrecarga de ter que ler e processar entradas e inodes de diretórios para descobrir onde está o conteúdo do arquivo e fazer mais buscas no disco principal , lendo cada arquivo de um local diferente do disco.
Para fazer backup dos dados subjacentes muito mais rapidamente, use:
dd bs=16M if=/dev/sda1 of=/another/filesystem
(Isso pressupõe que você não esteja usando RAID, o que pode mudar um pouco as coisas)
tar
introduza uma sobrecarga significativa, ler os arquivos é a operação cara aqui. Você deve modificar a maneira como seus arquivos são armazenados ou usar uma abordagem radicalmente diferente (copie o sistema de arquivos como um todo). Não podemos ajudá-lo muito sem saber como seus arquivos estão organizados.