有一些日志文件占用了大量空间,我想在 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,但我不确定它是否合适。