redireciona a saída nohup para outro arquivo

3

Estou executando um comando com nohup em um dos meus servidores, o arquivo de saída se tornou muito grande e eu prevejo que o processo precisaria de um mês extra de execução antes de ser concluído. Existe uma maneira de alterar o arquivo de saída nohup enquanto o processo está sendo executado?

    
por Zaid Amir 18.10.2016 / 09:03

2 respostas

0

Acabei de encontrar este utilitário pequeno que me permitiu redirecionar a saída para outro arquivo e tudo está funcionando bem agora. O utilitário é chamado de reredirect e pode ser encontrado em: link

Um comando simples como: reredirect -m FILE PID faz o trabalho.

    
por 23.10.2016 / 08:23
2

A idéia dada em um dos comentários é geralmente o que é feito, mesmo se o link para outra pergunta tiver uma resposta errônea (e não aceita).

Para truncar o arquivo em um uso de shell POSIX:

cat /dev/null > _name_of_file_

Não cp como uma resposta no link sugere. Claro, você pode querer copiar o arquivo antigo para um sistema de arquivos diferente ou para um local remoto, se quiser salvá-lo primeiro.

Em termos de baixo nível, a diferença é que você está abrindo o arquivo existente e com seu inode e truncando-o. Consulte o link e a opção O_TRUNC .

Algumas outras coisas que funcionam em casos especiais. Às vezes, verifico /etc/logrotate.d (ou algum outro programa de rotação de log adequado) para ver como isso troca os arquivos. Alguns comandos, como o apache2, possuem um comando reload que faz com que ele carregue um arquivo de configuração e, no processo, reabra os arquivos de log.

    
por 18.10.2016 / 13:10

Tags