Vários arquivos de log com tela

2

Estou usando a tela em um script de implantação para iniciar vários processos desanexados.

Por exemplo:

/usr/bin/screen -dmSL ${USER}_selenuim java -jar selenium-server-standalone.jar -role hub -servlets com.example.local

O problema que vejo é que este serviço estará ativo por um longo período de tempo e a saída é bastante detalhada, como por um requisito, no entanto, o arquivo de log que é criado (screenlog.0) está crescendo muito.

É possível dividir esse arquivo de log ou criar outro arquivo de log depois que ele atinge um determinado tamanho SEM parando e reiniciando os serviços de tela. Ou alguma outra combinação para reduzir o tamanho dos arquivos dos logs.

Consultei o Manual de tela , mas não encontrei uma resposta. .

    
por Pogrindis 12.08.2016 / 10:05

2 respostas

2

Minha versão de screen abre o arquivo de log no modo append , portanto, todas as gravações estão sempre no final do tamanho atual do arquivo.

Isso significa que você pode reduzir independentemente o tamanho do arquivo, por exemplo, para 0, e os logs continuarão a partir daí. Você pode usar o comando

truncate --size 0 screenlog.0

para reduzir o arquivo de volta ao tamanho 0. Você pode copiar o conteúdo do arquivo primeiro se quiser preservá-lo. Infelizmente haveria um pequeno intervalo entre a cópia e o truncamento quando novos dados pudessem ser adicionados e seriam perdidos. Você poderia emitir os sinais SIGSTOP e SIGCONT em seu processo ou no processo de tela pausar temporariamente enquanto você faz a cópia e trunca.

    
por 12.08.2016 / 18:10
1

Crie um fifo nomeado com mkfifo, configure isso como logfile. Agora você pode ler o fifo com outro processo e colocar em vários arquivos correspondentes a qualquer critério.

    
por 12.08.2016 / 15:56