Можно ли обрезать файл журнала, который демон открыл, и демон не закрыл файл? - PullRequest
3 голосов
/ 15 июня 2010

У меня есть демон, записывающий в файл журнала, который, в конце концов, заполняет диск.Есть ли способ для меня периодически ограничивать размер файла журнала без остановки демона без изменения кода в нем?SIGHUP убивает демона.

Ответы [ 3 ]

4 голосов
/ 15 июня 2010

Обычный трюк:

echo -n > /var/log/name.log

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

Другой вариант - проверить, поддерживает ли ваш демон системный журнал, и активировать его.Большинство Linux сейчас поставляется с некоторым сборщиком журналов, который автоматически (на основе правил и т. Д.) Архивирует файлы системного журнала.

0 голосов
/ 29 марта 2014

Чтобы обрезать файл журнала, но сохранить последние 1000 строк этого файла:

echo "$(tail -1000 daemonlog)" > daemonlog
0 голосов
/ 15 июня 2010

Если имя файла является постоянным, вы можете попробовать создать fifo вместо файла журнала и прочитать его в любое количество отдельных файлов журнала.

...