有什么可以吃掉我的整个硬盘空间? (650GB)

我只有一个数据库,大约40G。 我以前有复制的问题….可能是某种日志/文件正在吃它?

我如何检查空间为什么被占用?

我正在使用Ubuntu,最新版本。 我没有一个GUI。 一切都是命令行。 唯一运行的是mysql

是的,你的二进制文件占用了大量的空间 – 特别是在设置复制之后。

你可以configuration这些在/etc/mysql/my.cnf中保留多久,使用expire_log_days

请注意,如果您的binlog索引文件出现问题,则此设置将不起作用。 我相信你可以手动确保索引文件的内容匹配所有现有的binlog文件名来解决这个问题。

这往往会更好地工作(开始/如果你是根):

du -sm * | sort -nr 

这样你就可以把你的顶尖罪犯列入榜首。 然后,您可以先对明显的犯罪者进行深入研究,find完整磁盘问题的真正来源。

一般来说,使用它来设置cron脚本来审计home和share目录树是非常方便的。 运行在家里,你可以很容易地识别文件猪的login…

诸如运行find之类的事情都可以,但是如果你有一个每天都在旋转(但不是删除)日志的应用程序,没有人知道,而且3年过去了,会发生什么呢? 小文件也加起来…

du(磁盘使用)命令是你的朋友。 尝试像这样:

 du -h --max-depth=1 /home 

…其中-h是“人类可读的”,-max-深度控制你想要去的深度的子目录。

正如Nexus所build议的那样,du是你的朋友。 我个人使用du -hs * ,它将列出文件或目录的总大小,包括所有的子目录。 然后冲洗并重复您的最大目录,以深入到正在使用磁盘空间的位置。

或者,也可以find作品。 find . -size +1G find . -size +1G会显示大于1GB的所有单个文件。

我会在整个分区上运行一个报告:

 find /foo -mount -type f -print0 | xargs -0 du -sk | sort -rn | less 

这将给你一个所有文件的sorting列表,从最高处开始,以KB为单位,而不跨越其他装入的驱动器。 如果你只有一个巨大的/分区,那么用“/”replace“/ foo”。 通常情况下,您只有less量的空间大的文件,如日志文件,核心文件或崩溃转储。

它会真的砸了服务器,所以要么不错,要么运行它,当机器可以处理额外的负载。

我的电脑吃了他的硬盘直播…一旦我删除文件的硬盘保持beeing填补..我不能更新,不能sudo,除了删除文件,不能做任何事情,然后空间填满再次…这似乎是第一个Ubuntu的病毒。

ncdu是命令行du的一个不错的select。

有点复杂的看,但我用它来追查我们的Oracle盒上的磁盘利用率问题:

 tree -s -f > /tmp/out1 && sleep 5 && tree -s -f > /tmp/out2; diff /tmp/out1 /tmp/out2 | egrep "\|--" | awk -F[ '{print $2}' | awk -F] '{print $2 }' | sort | uniq | xargs fuser f | xargs ps -lFp