Antworten:
Dies kommt ziemlich oft in Interviews vor ...
Möchten Sie die Datei abschneiden, ohne die Prozesse zu stören? Sind Informationen in der Protokolldatei wertvoll? Wenn ja, "nulle" ich die Datei normalerweise mit einer einfachen Bash-Zeichenfolge.
: > /var/log/badlogfile
Dies tritt in Situationen auf, in denen Sie möglicherweise eine Anwendung haben, die nicht kontrolliert neu gestartet werden kann. Angenommen, es handelt sich um eine Finanzhandelsanwendung, und das Programm kann während des Handelstages nicht angehalten oder neu gestartet werden. Die Protokolldateien wachsen jedoch aufgrund eines Anwendungsfehlers mit einer gewissen obszönen Geschwindigkeit. Durch Abschneiden der Protokolldateien mit der oben oder unten beschriebenen Methode kann das System weiter ausgeführt werden.
Siehe auch: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
Wenn es aktiv an Sie geschrieben wird, haben Sie nicht wirklich viel, was Sie durch Abschneiden tun können. Sie können die Datei nur leeren (Sie können sie zuerst an eine andere Stelle kopieren).
echo "" >/var/log/fileYouWantToEmpty
Auf diese Weise bleibt die Datei leer, ist aber immer noch dieselbe Datei / Inode, sodass das zu protokollierende Programm nicht gestört wird.
Sie können auch cat / dev / null> / var / log / ausprobieren. Aber ich muss warnen, dass / dev / null in einigen älteren Versionen nicht implementiert ist ...