标签搜索

目 录CONTENT

文章目录

Linux下docker容器日志清理

沙漠渔
2023-06-20 15:00:52 / 0 评论 / 0 点赞 / 278 阅读 / 823 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-06-20,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

服务器的空间隔一段时间就会提示空间不足,于是找来找去,每次发现docker的日志文件都会占用比较大的空间,这不,今天网关那边又提示服务器磁盘空间告警,于是需要考虑如何有效的删除掉容器日志,减少空间占用。

问题排查

通过以下命令逐级排查占用空间比较大的目录,最终找到罪魁祸首。

du -h -x --max-depth=1  /

找到感觉占用比较异常的,就依次找下一级,比如:

du -h -x --max-depth=1  /home
du -h -x --max-depth=1  /home/docker

通过上述过程逐一排查,最终发现docker容器中的一些json.log 以及一些 out.log文件占用比较大,并且这些都是日志文件,并不影响容器正常运行。

清理脚本

既然前面已经明确了问题所在,那么就需要添加一个脚本,实现定期清理那些日志文件,避免长期占用磁盘空间,清理日志文件脚本如下:

#!/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 ========"

比如创建文件名为clean.sh,则执行如下命令给予可执行权限并执行

chmod +x clean.sh
./clean.sh

当然最好的处理方式是限制日志文件的大小,但是相对比较麻烦,后面再说了,先解决燃眉之急。

0
广告 广告

评论区