Você não pode. Quando você abre um arquivo, o processo recebe um identificador de arquivo. O identificador de arquivo não muda mesmo se o arquivo for movido ou removido . Assim, o processo será gravado no mesmo identificador de arquivo, que você moveu para output_bak.txt
. Você terá que fechar um arquivo e reabri-lo.
Você pode usar utilitários unix como tail
para visualizar o final do arquivo. tail -n 20 output.txt
produzirá as últimas 20 linhas de output.txt
.
O tail também pode fornecer uma visualização ao vivo. tail -f output.txt
mostrará o conteúdo à medida que é gravado no arquivo, em um fluxo contínuo, até que você o interrompa com Ctrl + c .
Isto é, a propósito, como o logrotate funciona. Mova o arquivo, crie um novo arquivo vazio e reinicie o processo de gravação no arquivo de log.