В Unix, как лучше всего уменьшить размер массивного файла журнала, в который активно записывается?


11

На сервере Linux я хочу уменьшить размер файла журнала, который составляет несколько ГБ. Отрезание верхней половины, или, может быть, сработает первый миллион строк.

Ответы:


12

Это часто встречается в интервью ...

Вы хотите обрезать файл, не нарушая процессы? Является ли какая-либо информация в файле журнала ценной? Если это так, я обычно "обнуляю" файл простой строкой bash.

: > /var/log/badlogfile

Это происходит в ситуациях, когда у вас может быть приложение, которое невозможно перезапустить контролируемым образом. Допустим, это приложение для финансовой торговли, и программу нельзя остановить или перезапустить в течение торгового дня. Тем не менее, файлы журнала растут с некоторой непристойной скоростью из-за ошибки приложения. Усечение файлов журнала с помощью метода выше или ниже может поддерживать работу системы.

Также см .: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/


1
двоеточие должно указывать на подсказку, или это фактически входит в команду?
Фил

Двоеточие является частью команды.
ewwhite

Тебе не нужна толстая кишка.
MikeyB

Это неоперация. Это не нужно, но мне нравится держать его там, когда я даю рекомендации.
ewwhite

Это не сработало для меня, журнал не изменился в размере. Он пошел к 0, но затем вернулся к своему полному размеру
thouliha

2

Вы можете поместить его в logrotate, тогда он не так легко выйдет из-под контроля


В конечном итоге это должно произойти. Я новичок в этой работе ...
Фил

1

Если он активно пишется, у вас мало что можно сделать с помощью усечения. Ваши единственные варианты - очистить файл (вы можете сначала скопировать его в другое место).

echo "" >/var/log/fileYouWantToEmpty

Таким образом, файл оказывается пустым, но остается тем же файлом / индексом, поэтому он не нарушает работу программы, которая ведет журнал.


0

Вы также можете попробовать cat / dev / null> / var / log /. Но я должен предупредить, что / dev / null не реализован в некоторых старых версиях ...


урезание файла у меня не работает, я сделал тест на centos 7 и redhat 5
c4f4t0r
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.