当前位置: 首页 > news >正文

linux 磁盘满了,程序运行失败,如何处理?df -h

场景:紧急呼救,上传图片失败了。我一脸懵,服务器这是又咋地了,别邪乎姐姐,姐姐胆子小啊。

一、寻找问题原因

1、OSS出问题了?

然后我尝试了 IOS 的APP是没问题的,Android提示上传失败?这就说明 OSS服务肯定是没问题的,那就看服务器吧。
Android提示上传失败,是因为他调用的后端接口上传,IOS无问题是因为自给自足,直接对接OSS,那么问题找到了,服务器接口的问题。

2、服务器到底又咋地了?

然后你就看吧,服务正常运行,看着没啥问题啊?那看看磁盘吧,不看不知道,一看吓一跳啊。

①磁盘使用查看命令:df -h

在这里插入图片描述
我们发现 /dev/vda3 100%了,他对应的路径 是/下,那么继续:

② 某个路径下的磁盘占用情况 du -sh *

在这里插入图片描述
一直往下查看,就会发现 是docker的containers很大,占据了很大的空间。
在这里插入图片描述

③ truncate -s 0 / rm -rf

在这里插入图片描述
我们发现 是json.log把磁盘大部分空间占用了,那么直接操作就好啦。

truncate -s 0 f96ecdcdbab8b8d0afae10c0ccb2892e0e5e55e493a1c0585c1c99b02c93f726-json.log
rm -rf 0 f96ecdcdbab8b8d0afae10c0ccb2892e0e5e55e493a1c0585c1c99b02c93f726-json.log

一个是清空内容,一个是删除日志.,删除需重启docker.

当然这些可以直接一个脚本 解决,不然这么多镜像,难道我还一个一个删除吗?哈哈哈。

脚本内容:
#!/bin/bash
echo "==================== start clean docker containers logs =========================="logs=$(find /var/lib/docker/containers/ -name *-json.log)for log in $logsdoecho "clean logs : $log"cat /dev/null > $logdoneecho "==================== end clean docker containers logs   =========================="

http://www.mrgr.cn/news/4617.html

相关文章:

  • Bailando 音乐生成舞蹈网络学习
  • C++竞赛初阶L1-13-第五单元-循环嵌套(29~30课)538: T456457 第 n 小的质数
  • 学习记录——day33 HTTP
  • Godot实现3d物体平滑缩放
  • 看图学sql之sql 中的UNION 和union all
  • 数据结构:二叉树的广度优先遍历与深度优先遍历(递归方法)。C++及其新特性分别实现
  • 【MySQL】MySQL学习笔记(持续更新)
  • 【前端】vue监视属性和计算属性对比
  • SpringBootWeb快速入门
  • 基于STM32开发的智能家居照明系统
  • leetcode59:螺旋矩阵II
  • 20240823 每日AI必读资讯
  • IDEA中设置类和方法的注释
  • 怎么样提高 ui 自动化测试的成功率?
  • 我的Markdown简历模板开源了!
  • 数据结构+单链表应用
  • 计算机图形学 | 动画模拟
  • PostgreSQL SELECT 语句:深入解析与实例应用
  • [数据集][目标检测]快递包裹检测数据集VOC+YOLO格式5382张1类别
  • 分布式互斥锁优化数据库压力:从基础到高级优化