Risposte:
Questo emerge nelle interviste abbastanza spesso ...
Stai cercando di troncare il file senza interrompere i processi? Qualche informazione nel file di registro è preziosa? In tal caso, di solito "zero" il file con una semplice stringa bash.
: > /var/log/badlogfile
Ciò si verifica in situazioni in cui potresti avere un'applicazione che non può essere riavviata in modo controllato. Supponiamo che sia un'applicazione di trading finanziario e che il programma non possa essere arrestato o riavviato durante il giorno di trading. Tuttavia, i file di registro stanno crescendo a un ritmo osceno a causa di un bug dell'applicazione. Troncare i file di registro utilizzando il metodo sopra o sotto può mantenere il sistema in esecuzione.
Vedi anche: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
Se ti sta scrivendo attivamente, in realtà non hai molto che puoi fare troncando. Le uniche opzioni sono di svuotare il file (è possibile copiarlo altrove prima).
echo "" >/var/log/fileYouWantToEmpty
In questo modo il file finisce vuoto ma è sempre lo stesso file / inode in modo da non interrompere il programma che sta registrando.
Puoi anche provare cat / dev / null> / var / log /. Ma devo avvisare che / dev / null non è implementato in alcune delle versioni precedenti ...