视频加载失败

【脚本】docker日志清理

307 字
2 分钟
【脚本】docker日志清理
【脚本】docker日志清理

0x0#

docker的容器日志一般存储在/var/lib/docker/containers/下,容器的id的目录下有一个-json.log结尾的文件就是日志文件。

因为linux的文件系统原因,正在运行的容器中的日志直接删除是不会中断进程与文件的连接的,说人话就是“删不掉”(可以删除,但磁盘空间不会释放),所以直接删除就必须停止docker容器。

0x01#

所以如果想不停docker容器的情况下清理日志,那就清空日志文件(这里用词是“清空”)。

Terminal window
echo "" | sudo tee /var/lib/docker/containers/容器id/容器id-json.log

0x02#

这里我使用find命令批量清理:

Terminal window
find /var/lib/docker/containers/ -name *-json.log -size +10M -ok dd if=/dev/null of={} \;

参数:

-name 文件名匹配

-size +10M 匹配大小超过10M的文件

-ok 后面接匹配到文件后执行命令,会提示输入y/n的保险来确认是否执行命令,如果想不提示y/n就自动处理就将-ok替换为-exec,命令最后面接\;结束命令

这里将文件置空我使用的是dd if=/dev/null of={},其中的{}表示文件路径,是find的占位符会自动替换为匹配到的文件路径。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
【脚本】docker日志清理
https://rehtt.com/posts/257/
作者
Rehtt
发布于
2023-01-05
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Rehtt
Hello, I'm Rehtt.
公告
欢迎来到我的博客!
分类
标签
最新动态
站点统计
文章
150
分类
17
标签
73
总字数
67,772
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录