
Existem alguns arquivos de log que ocupam muito espaço e quero restringi-los a 10 MB no Linux.
Por exemplo: o arquivo test.log não deve exceder 10 MB; logs devem parar de ir para esse arquivo.
Você pode compartilhar as possíveis etapas ou comandos para fazer isso?
Responder1
Inspirado porresposta de Alex para uma pergunta semelhante,sevocê pode controlar a localização do arquivo de log de forma que ele possa ser colocado em um diretório separado e, em seguida, criar uma montagem em loop apoiada por um arquivo de um determinado tamanho. As gravações nesse subdiretório serão limitadas pelo tamanho do arquivo de backup. Isso começaria a ficar confuso se você precisasse lidar com vários arquivos de log.
## 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
Responder2
Um módulo emlog ajudaria? Eu vejo isso mencionado emhttps://serverfault.com/questions/133320/turning-a-log-file-into-a-sort-of-circular-buffer, mas não tenho certeza se é uma boa opção.