1.编辑脚本,查看日志大小
新建脚本在/root目录下
cd /root/
vim docker_log_size.sh
填写以下脚本
#!/bin/sh
echo "======== docker containers logs file size ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
2.删除日志脚本
vim clean_docker_log.sh
脚本:
#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"
# 脚本赋权
chmod +x docker_log_size.sh
chmod +x clean_docker_log.sh
# 执行脚本
./docker_log_size.sh
./clean_docker_log.sh
3.定时执行
crontab配置
如系统没有安装crontab请执行如下命令
yum install crontabs
编辑定时任务脚本
执行:
crontab -e
0 2 */1 * * sh /root/clean_docker_log.sh
将执行结果写入到日志
0 2 */1 * * sh /root/clean_docker_log.sh >> /root/mylog.log 2>&1
:wq保存
每分钟运行一次
每2天运行一次 在12点0分开始运行
0 12 */2 * *
# 重启docker守护进程
systemctl daemon-reload
systemctl restart docker
查看定时任务是否生效:crontab -l
4.设定docker容器日志大小
使用docker全局配置:一个容器最多3个日志,大小50M
# vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"50m", "max-file":"3"}
}
如下:
注意:设置的日志大小,只对新建的容器有效
重启docker守护进程
systemctl daemon-reload
systemctl restart docker
参考:
https://www.cnblogs.com/qq874455953/p/9589207.html
https://blog.csdn.net/yjk13703623757/article/details/80283729