释放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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值