Ограничить размер определенного файла журнала в Linux

Ограничить размер определенного файла журнала в Linux

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

Например: файл test.log не должен превышать 10 МБ; журналы должны перестать отправляться в этот файл.

Можете ли вы поделиться возможными шагами или командами для достижения этой цели?

решение1

Вдохновленответ алекса на аналогичный вопрос,есливы можете контролировать местоположение файла журнала, так что он может быть помещен в отдельный каталог, затем вы можете создать петлевое монтирование, поддерживаемое файлом заданного размера. Записи в этот подкаталог будут тогда ограничены размером файла поддержки. Это начнет становиться беспорядочным, если вам нужно будет обрабатывать несколько файлов журнала.

## adjust the size to taste for filesystem overhead
dd if=/dev/zero of=./10mb.img bs=1M count=12 
/sbin/mkfs.ext4 10mb.img
mkdir logdir
sudo mount -t ext4 -o loop 10mb.img logdir

sudo dd if=/dev/urandom of=logdir/test.log
dd: writing to ‘logdir/test.log’: No space left on device
21033+0 records in
21032+0 records out
10768384 bytes (11 MB) copied, 2.3511 s, 4.6 MB/s

решение2

Поможет ли модуль emlog? Я вижу, что он упоминается наhttps://serverfault.com/questions/133320/превращение-файла-журнала-в-своего-вида-кругового-буфера, но я не уверен, что это хорошо подходит.

Связанный контент