Відповіді:
Це трапляється в інтерв'ю досить часто ...
Ви хочете усікати файл, не порушуючи процеси? Чи є якась інформація у файлі журналу цінною? Якщо так, я, як правило, "нулю" файл простим рядком bash.
: > /var/log/badlogfile
Це виникає в ситуаціях, коли у вас може бути програма, яку неможливо перезапустити контрольованим чином. Скажімо, це додаток для фінансової торгівлі, і програма не може бути зупинена або перезапущена протягом торгового дня. Однак файли журналів зростають з нецензурною швидкістю через помилку програми. Обрізання файлів журналів методом вище чи нижче може підтримувати роботу системи.
Також дивіться: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
Якщо це активно пишеться, у вас насправді не так багато, що ви можете зробити шляхом укорочення. Ваші єдині варіанти - видалити файл (ви можете скопіювати його спочатку в іншому місці).
echo "" >/var/log/fileYouWantToEmpty
Таким чином файл закінчується порожнім, але все-таки є тим самим файлом / inode, щоб він не порушив програму, що веде журнал.
Ви також можете спробувати cat / dev / null> / var / log /. Але я повинен попередити, що / dev / null не реалізовано в деяких старих версіях ...