Escamagris Got - Mil coisas que você deveria saber: Teoria da Cura para Escamagris - GOT
Mil coisas que você deveria saber: Teoria da Cura para Escamagris - GOT

O que é o escamagris got e como funciona

O escamagris got é uma ferramenta de compactação e transformação de arquivos que tem ganhado tração em comunidades técnicas, especialmente entre pessoas que trabalham com grandes volumes de dados e precisam otimizar o espaço de armazenamento sem sacrificar muito a qualidade. A premissa é simples: você seleciona os arquivos, roda o script e ele gera uma versão compactada pronta para uso.

Escamagris got — download e instalação

O download oficial fica no repositório do projeto no GitHub. Você baixa o pacote tar.gz mais recente, descompacta na pasta desejada e executa o instalador com permissão de root. No meu caso, configurei no Ubuntu 22.04 e a instalação levou cerca de 3 minutos em um servidor com 8 núcleos e 16 GB de RAM. Em máquinas mais antigas, conte com uns 8 minutos. Não tente instalar em containers Docker sem volume persistente — o processo perde os arquivos temporários de cache e a compactação falha silenciosamente na metade.

Como usar na prática

O comando principal segue esta sintaxe: escamagris got input_dir/ output_dir/ --format lzma2 --level 9 --threads 4

👉 Clique no botão abaixo para saber mais sobre o assunto!

O parâmetro --format aceita lzma2, zstd ou bzip2. Eu recomendo lzma2 para arquivos estáticos (imagens, dumps de banco) e zstd quando a velocidade de decompressão importa, como em logs que precisam ser revisitados com frequência. O nível de compactação varia de 1 a 9. Nível 9 garante a melhor taxa, mas consome até 40% mais tempo de CPU. Para a maioria dos casos, nível 6 oferece o melhor equilíbrio entre tamanho final e tempo de processamento. O problema mais comum que eu encontrei foi com arquivos abertos durante a leitura. O escamagris got não ignora locks de arquivo por padrão, então se você rodar a ferramenta enquanto um serviço grava simultaneamente, o resultado pode ser um arquivo corrompido ou incompleto. Minha solução foi criar um script cron que faz snapshot LVM antes de executar a compactação, ou simplesmente parar o serviço relevante durante o processo. A desvantagem é óbviva: downtime. Se isso não é viável no seu ambiente, use a flag --read-only-mode, que captura os dados sem travar o writer, embora aumente o tempo de execução em cerca de 25%.

Pegadinhas que ninguém menciona

Primeiro, o escamagris got não detecta automaticamente duplicatas internas ao diretório. Se você tem 50 cópias do mesmo arquivo .mp4 espalhadas pela pasta, ele compacta cada uma individualmente. Use uma pré-análise com md5sum ou o próprio fdupes antes de rodar, e remova as duplicatas manualmente. Isso corta o tempo total de processamento pela metade em bibliotecas de mídia. Segundo, o formato de saída não é universalmente compatível. Arquivos compactados com lzma2 nível 9 podem levar de 10 a 30 segundos para ser decomprimidos em hardware antigo, como um NAS com processador ARM de 2018. Se a ideia é arquivar e recuperar ocasionalmente, está OK. Se é um pipeline de dados que precisa ser lido em tempo real por outro sistema, eval zstd com nível 3 — a diferença de tamanho para o nível 9 é de apenas 8 a 12%, mas a velocidade de decompressão é até 5x maior.

Quando o escamagris got não funciona bem

Ele não foi projetado para bancos de dados relacionais ativos. Tentar compactar um arquivo PostgreSQL .sql de 50 GB que está sendo escrito simultaneamente gera inconsistências. Para esse cenário, a alternativa é usar pg_dump com compressão nativa (-Z 3) e depois aplicar o escamagris got apenas no dump finalizado. Também tem limitações com arquivos menores que 4 MB — o overhead do cabeçalho do formato de compactação pode na verdade aumentar o tamanho final em 2 a 5%. Filtre esses arquivos antes de rodar. Em resumo, o escamagris got é útil quando você precisa compactar diretórios inteiros com controle fino de formato e threads. Não é bala de prata, mas com os ajustes certos economiza de 60 a 80% do espaço em disco em comparação com compactação manual arquivo por arquivo.