De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Herbert G. Fischer
Data de Publicação: 06 de Maio de 2004
De vez em quando passamos por situações em que o armazenamento é mais importante que a capacidade de processamento e que precisamos registrar muitas informações em um curto prazo de tempo, fazendo com que os arquivos de log fiquem monumentais.
Eu me deparei com algo assim, num script de sincronia entre servidores web que fiz no meu trabalho. O script precisa rodar de 1 em 1 minuto, gerando um log razoavelmente espaçoso.
Com as ferramentas padrões de compactação do Linux, gzip e bzip2, descobri que é possível algo tecnicamente estranho. Concatenar pedaços de texto compactado num mesmo arquivo e ao descompactar, obter o texto na forma correta.
Na prática:
% echo 123 | gzip -f >> teste.gz % echo 456 | gzip -f >> teste.gz % echo 789 | gzip -f >> teste.gz % echo 101 | gzip -f >> teste.gz % gunzip teste.gz % cat teste 123 456 789 101
Com bzip2 é a mesma coisa, exceto que os parâmetros são diferentes.
echo 123 | bzip2 -z >> teste.bz2 echo 456 | bzip2 -z >> teste.bz2 echo 789 | bzip2 -z >> teste.bz2 echo 101 | bzip2 -z >> teste.bz2 bunzip2 teste.bz2
Bom... diante deste recurso, dentro do script, eu mando as linhas de log da execução atual para um arquivo temporário, compacto ele e concateno no arquivo definitivo. Depois apago o arquivo temporário. Fazendo assim, eu elimino um gargalo de chamadas aos compactadores.
Ahhh... já ia me esquecendo... Prefira usar o GZIP ao invés do BZIP2 caso seu processador esteja no gargalo. O BZIP2 compacta bem mais no uso padrão, mas também usa bem mais processamento.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários