查找前 10 个最新修改的文​​件

查找前 10 个最新修改的文​​件

如何获取系统上最近修改的 10 个文件。我有一个系统,其磁盘使用率已达到极限,我不确定哪些文件正在快速增加。

我有一个 mysql 实例存储在一个单独的安装设备上,我刚刚创建了一个到根设备上的 /var/lib 目录的软链接。我知道符号链接不会影响磁盘使用。

答案1

您可以使用findstatsorttail来执行此操作。

find . -exec stat --format="%X" + | sort -n | tail -n 10

但是,您可以考虑使用watchduwatch将定期运行命令(默认情况下每 2 秒一次)。并du显示磁盘使用情况。该命令将显示当前目录中每个文件和文件夹的磁盘使用情况,并且输出会不断刷新。

watch "du -s *"

您可以从根目录开始,查看哪个文件夹增长最快,然后沿着文件夹层次结构向下移动,直到找到罪魁祸首。

如果您所在的文件夹中有太多文件而无法同时在屏幕上看到,您可以通过隔离文件(例如du -s [a-h]*.另外,这不会显示隐藏文件;为此,您需要.*.[a-h]*等等。

答案2

您可以将find+ sort+... 等命令放在一起来完成您所要求的字面意思。但要达到查找磁盘使用率最高的程序的目的,最好使用奥托普

答案3

您可能想尝试使用以下任意一种方式进行实时监控记录文件系统或者 Linux 的审计子系统(或您的 Unix 变体的等效功能)。看这个答案了解更多信息。请注意,如果很多程序使用此文件系统,这将产生大量日志。确保您没有登录到受监视的文件系统。对于审计子系统,这条规则应该可以解决问题。

auditctl -a exit,always -F dir=/mount/point -S write

相关内容