Eu usaria o grep para encontrar as linhas que você está procurando e anexá-las ao seu novo arquivo de log apenas com informações úteis.
ie. grep someString * .log > > errors.txt
Suponha que alguns logs estejam sendo rotacionados em tamanho de 50MB cada. Eu fiz grep
some string e minha string está presente em um arquivo de log, log_3
e eu quero copiar o conteúdo de log_3
antes de ser rotacionado (renomeado) para log_4
.
Por favor, sugira como fazer backup do conteúdo do log_3 antes de ser rotacionado. Eu só preciso do conteúdo de log_3. Eu não quero como eu copiei log_3 (por cp -p log_3 log_3_backup), mas por esse tempo logs foram rotacionados e agora log_3_backup contém conteúdo de log_2. Existe alguma maneira de evitar isso? Trabalhando em um projeto de automação eu preciso de uma solução para isso. Muito obrigado por suas sugestões com antecedência. Você pode compartilhar python ou shell script.
Eu usaria o grep para encontrar as linhas que você está procurando e anexá-las ao seu novo arquivo de log apenas com informações úteis.
ie. grep someString * .log > > errors.txt
Se o log rotacionado for legível, você pode simplesmente cat
de todos os arquivos e grep
padrão de desejo.
Exemplo:
cat /path/to/backup/* log_3 | grep <pattern>