如果对你有帮助记得素质三连~
转载请注明出处~
欢迎批评指点~
https://blog.youkuaiyun.com/L_Open2021/article/details/128939028
通过 df -l 命令查看磁盘情况,发现磁盘被占满了
排查步骤:
1. 查找异常大文件
find / -type f -size +200M | xargs ls -Slh
发现了个docker容器产生的28g的日志文件,暴力点,删掉,继续找
2. 从根目录找大文件
cd / #跳转到根目录
du -sh * #查看磁盘详情,找到大占用目录,进入此目录继续 du -sh *
通过不断的层层查找发现,docekr共启动十个容器,每个容器中历史日志文件都占用了9个g
3. find 结合 rm -rf 删除上述所有文件
find / -maxdepth 6 -mtime +5 -name "*.log" -exec rm -rf {} \;
find /: 目录路径
-maxdepth 6: 目录深度,往下几层, 1就代表着1层 也就是只找本层的。
-mtime +5: 产生时间 五天前的
-name "*.log.*" : 名称为*.log.*的
做完上述处理后重新查看磁盘情况发现,磁盘还是满的,但是刚才删的文件已经不在了!!这可能是由于文件被进程锁定,或者有进程一直在向这个文件写数据等,因为都是docker容器的日志文件,所以直接将docker的所有容器停掉就解决了!
# docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)