Respostas:
Isso aparece nas entrevistas com bastante frequência ...
Você está procurando truncar o arquivo sem interromper os processos? Alguma das informações no arquivo de log é valiosa? Nesse caso, normalmente "zero" o arquivo com uma sequência simples de bash.
: > /var/log/badlogfile
Isso ocorre em situações em que você pode ter um aplicativo que não pode ser reiniciado de maneira controlada. Digamos que seja um aplicativo de negociação financeira e o programa não possa ser interrompido ou reiniciado durante o dia de negociação. No entanto, os arquivos de log estão crescendo a uma taxa obscena devido a um erro no aplicativo. Truncar os arquivos de log usando o método acima ou abaixo pode manter o sistema em execução.
Consulte também: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
Se ele está sendo gravado ativamente, você realmente não tem muito o que fazer por meio de truncamento. Suas únicas opções são deixar o arquivo em branco (você pode copiá-lo em outro lugar primeiro.)
echo "" >/var/log/fileYouWantToEmpty
Dessa forma, o arquivo acaba vazio, mas ainda é o mesmo arquivo / inode, para não interromper o programa que está sendo registrado.
Você também pode tentar cat / dev / null> / var / log /. Mas, eu tenho que avisar que o / dev / null não está implementado em algumas das versões mais antigas ...