logrotate
logrotate
是linux自带的一个日志轮转工具,可以自动对日志进行截断(或轮循)、压缩以及删除旧的日志文件。如:配置/var/log/nginx.log
每周轮询并删除3周前的日志.
logrotate配置
logrotate
默认配置文件:/etc/logrotate.conf
需求:配置对docker容器日志轮询
# 进入到/etc/logrotate.d/目录下,该目录下有logrotate默认配置的一些规则
# 创建一个新的文件container
# 配置规则,更多规则可以自行搜索
/var/lib/docker/containers/*/*-json.log
{
create 644 root root
missingok
weekly
copytruncate
rotate 3
size=100M
notifempty
}
限制docker容器日志大小的方式不仅仅只有logrotate方式,此处仅以容器日志为例.
限制docker容器日志
统一限制
# 修改docker配置:vim /etc/docker/daemon.json { "log-driver":"json-file", "log-opts": {"max-size":"500m", "max-file":"3"} } # 重启 systemctl daemon-reload systemctl restart docker
单独限制
docker run --name test --log-opt max-size=100m --log-opt max-file=2 -d nginx