
엄청난 양의 공간을 차지하는 로그 파일이 몇 개 있는데 Linux에서는 이를 10MB로 제한하고 싶습니다.
예: test.log 파일은 10MB를 초과할 수 없습니다. 로그가 해당 파일로 이동하는 것을 중지해야 합니다.
이를 수행하기 위해 가능한 단계나 명령을 공유해 주시겠습니까?
답변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/turning-a-log-file-into-a-sort-of-circular-buffer, 하지만 잘 맞는지 잘 모르겠습니다.