Salvando a cauda

1

O seguinte não funciona ...

tail -f /var/log/mysql/general.log | grep Connect > /home/myfile.txt

Se eu remover a opção "-f", poderei salvar a saída em um arquivo de texto, mas ele não funcionará enquanto a execução estiver sendo executada.

Nem o tee funciona

tail -f /var/log/mysql/general.log | grep Connect -tee "/home/myfile.txt"

atualização

O comando fornecido pelo quanta funciona.

tail -f /var/log/mysql/general.log | tee >(grep Connect > /home/myfile.txt)

Mas eu tenho que manter a janela aberta. nohup tail -f ... parece não funcionar. Como faço para manter este comando funcionando continuamente?

    
por shantanuo 08.08.2011 / 06:19

3 respostas

1
tail -f /var/log/mysql/general.log | tee >(grep Connect > /home/myfile.txt)
    
por 08.08.2011 / 06:34
1

Na verdade, funciona muito bem.

O problema é, provavelmente, que a saída é armazenada em buffer ao longo de cada etapa, portanto, é necessário ter muita saída antes de ser liberada para o arquivo.

    
por 08.08.2011 / 06:38
1

Sobre o seu problema nohup: Se você não quiser ver a saída continuamente por algum motivo, eu não criaria um arquivo separado com parte dos logs (que é essencialmente o que você está fazendo), mas crie a extração sob demanda com apenas um comando grep.

Se você insistir em seu método, poderá usar screen ou tmux para executar seu comando.

    
por 08.08.2011 / 07:46