栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

释放docker日志所占空间

释放docker日志所占空间

查看docker日志位置(不同的系统位置可能不一样) 本文以centos为例
参考: https://www.cnblogs.com/YatHo/p/7866029.html
指令: journalctl -u docker.service
docker 日志位置

进入容器目录 可以看到日志 -.json.log就是日志

删除日志脚本 出至: https://blog.csdn.net/wang0112233/article/details/109819709
命名为delete_log .sh放在 /data/lib/docker/containers

#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /data/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 ========" 

可能会遇见格式问题 参考: https://blog.csdn.net/limm33/article/details/53043988

另外可以设置docker日志大小,前提是docker需要重启或者docker容器需要重建,可以参考: https://www.cnblogs.com/testzcy/p/7904829.html

因为这个需要重建容器 所以写个定时器 定时执行脚本就行了
参考: https://blog.csdn.net/lc013/article/details/103775702
为了防止自己写错了先整一个测试
写一个test.sh

date >> /data/lib/docker/containers/data.log

给test.sh 赋权

chmod 777 test.sh

然后设置 crontab 定时任务
指令 crontab -e
跟 vim 操作一样
下面一行指令的意思是 每分钟执行一次test.sh文件

*/1 * * * *  /data/lib/docker/containers/test.sh

然后重启crontab
service crond restart

等一分钟

然后就改成delete_log.sh 即可

* * */1 * * /data/lib/docker/containers/delete_log.sh

然后重启crontab
service crond restart

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/761108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号