docker 日志清理
首先确认 docker 使用的存储引擎
docker info
如果使用 Logging Driver: json-file, 那么日志默认在 /var/lib/docker/contains/xxxxx/xxxxx-json.log
#!/bin/sh logs=`find /var/lib/docker/containers/ -name *-json.log` for logfile in $logs do echo " " > $logfile done 然后放到crontable中。 修改 日志引擎位置 cat /etc/docker/daemon.json { "log-driver": "json-file", "log-opts": {"max-size": "10m", "max-file": "3"} }
如果使用 Logging Driver: journald 日志清理
查看 journal 占用空间
journalctl --disk-usage
设定系统journal最大16M
只保留近一周的日志
journalctl --vacuum-time=1d
只保留500MB的日志
journalctl --vacuum-size=500M
手动清空
vim /etc/systemd/journald.conf
SystemMaxUse=16M
ForwardToSyslog=no
systemctl restart systemd-journald.service
#查看使用大小
journalctl --disk-usage
将systemd的日志写入磁盘:
1.在/var/log/目录下创建日志存放目录,并加入systemd-journal的权限:
mkdir /var/log/journal chown root:systemd-journal /var/log/journal chmod 755 /var/log/journal
systemctl restart systemd-journald.service