많은 공간을 차지하는 일부 로그 파일이 있는데 Linux에서는 이를 10MB로 제한하고 싶습니다.
예를 들어 test.log 파일은 10MB를 초과할 수 없으며 로그는 파일 액세스를 중지해야 합니다.
이를 수행하기 위해 가능한 단계나 명령을 공유할 수 있습니까?
답변1
에서 영감을 받다비슷한 질문에 대한 Alex의 답변,만약에로그 파일이 별도의 디렉터리에 배치되도록 로그 파일의 위치를 제어한 다음 지정된 크기의 파일을 기반으로 하는 반복 설치를 생성할 수 있습니다. 이 하위 디렉터리에 대한 쓰기는 백업 파일 크기에 따라 제한됩니다. 처리할 로그 파일이 여러 개인 경우 혼란스러워질 수 있습니다.
## 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, 하지만 그것이 적절한지는 잘 모르겠습니다.