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

0x0
docker的容器日志一般存储在/var/lib/docker/containers/下,容器的id的目录下有一个-json.log结尾的文件就是日志文件。
因为linux的文件系统原因,正在运行的容器中的日志直接删除是不会中断进程与文件的连接的,说人话就是“删不掉”(可以删除,但磁盘空间不会释放),所以直接删除就必须停止docker容器。
0x01
所以如果想不停docker容器的情况下清理日志,那就清空日志文件(这里用词是“清空”)。
echo "" | sudo tee /var/lib/docker/containers/容器id/容器id-json.log0x02
这里我使用find命令批量清理:
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的占位符会自动替换为匹配到的文件路径。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
【疑难杂症】特权lxc下运行非特权docker报错
Linux笔记2023-02-24
2
【Linux】使用iptables进行端口映射
Linux笔记2023-04-21
3
【Linux】文件备份脚本
Linux笔记2022-10-26
4
【Docker】macvlan网络模式下容器与宿主机互通
Docker笔记2020-09-08
5
Linux开机启动脚本编写
Linux笔记2017-12-04
随机文章随机推荐















加载更多…