linux - 如何找出我在 Amazon EC2 上的存储空间已满的原因?

当我在我的 Amazon EC2 服务器上运行 df -h 时,输出如下:

[ec2-user@ip-XXXX ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1             25G   25G     0 100% /
tmpfs                 4.0G     0  4.0G   0% /dev/shm

由于某种原因,有些东西占用了我的存储空间。

我正在尝试查找所有大文件/文件夹 这就是我得到的返回:

[ec2-user@ip-XXXX ~]$ sudo du -a / | sort -n -r | head -n 10
993580  /
639296  /usr
237284  /usr/share
217908  /usr/lib
206884  /opt
150236  /opt/app
150232  /opt/app/current
150224  /opt/app/current/[deleted].com
113432  /usr/lib64

我怎样才能知道是什么占用了我的存储空间?

最佳答案

嗯,我认为它的一个(或多个)日志文件已经变得太大,需要删除/备份。我建议先处理大文件。所以找到所有大于10MB的文件(10MB是足够大的文件大小,1MB同样可以选择+1M)

sudo find / -type f -size +10M -exec ls -lh {} \;

现在您可以确定是哪些问题造成了问题并相应地进行处理。

至于你原来的 du -a/|排序-n -r | head -n 10 命令,因为它是按大小排序的,所以它不起作用,因此,一个大文件的所有祖先目录都会向上金字塔,而单个文件很可能会被遗漏。

注意:在您找到的文件的位置注意到类似的其他日志文件/二进制文件的出现应该很简单,因此作为建议,在包含的目录中执行 cd清理更多同类文件的原始文件。您还可以使用该命令对大小大于 1MB 的文件进行迭代,以此类推。

https://stackoverflow.com/questions/20031604/

相关文章:

linux - 如何让 tcpdump 写入文件和标准输出适当的数据?

linux - 在文件夹中的 gzip 文件中查找字符串

linux - 如何在 Linux 中使用单行命令获取 Java 版本

linux - Ubuntu:使用 curl 下载图像

java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

python - 如何使用python2.7 pip而不是默认pip

linux - 如何在没有任何用户配置的情况下启动 shell?

linux - Gnome-terminal - 如何自动将选择复制到剪贴板?

MySQL - 错误 1045 - 访问被拒绝

linux - 单个文件卷挂载为 Docker 中的目录