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

打印 上一主题 下一主题

主题 694|帖子 694|积分 2082

场景:告急呼救,上传图片失败了。我一脸懵,服务器这是又咋地了,别邪乎姐姐,姐姐胆量小啊。
  一、寻找题目缘故原由

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把磁盘大部分空间占用了,那么直接操纵就好啦。
  1. truncate -s 0 f96ecdcdbab8b8d0afae10c0ccb2892e0e5e55e493a1c0585c1c99b02c93f726-json.log
复制代码
  1. rm -rf 0 f96ecdcdbab8b8d0afae10c0ccb2892e0e5e55e493a1c0585c1c99b02c93f726-json.log
复制代码
一个是清空内容,一个是删除日志.,删除需重启docker.
固然这些可以直接一个脚本 解决,否则这么多镜像,难道我还一个一个删除吗?哈哈哈。
  1. 脚本内容:
  2. #!/bin/bash
  3. echo "==================== start clean docker containers logs =========================="
  4. logs=$(find /var/lib/docker/containers/ -name *-json.log)
  5. for log in $logs
  6.         do
  7.                 echo "clean logs : $log"
  8.                 cat /dev/null > $log
  9.         done
  10. echo "==================== end clean docker containers logs   =========================="
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

汕尾海湾

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表