如何监控可用空间并自动删除 Linux 上的最旧文件?

如何监控可用空间并自动删除 Linux 上的最旧文件?

我有一个软件应用程序,它不断地将文件高速写入磁盘。每个文件的大小适中(不到 10 MB 左右),但它们每 1-2 秒在指定的父目录(例如)下创建一次/data/。该目录可能如下所示:

/data
    /data/subdir1
         /data/subdir1/file1
         /data/subdir1/file2
         /data/subdir1/file3
    /data/subdir2
         /data/subdir2/file1
         /data/subdir2/file2
         /data/subdir3/file3
    ...and so on

子目录也是由应用程序动态创建的。由于文件会不停地写入,最终存放文件的分区/data会填满。当这种情况发生时,我需要不断修剪内容/data以确保有空间写入新文件。

是否有现有的软件工具/库可用于此任务?理想情况下,我希望对使用哪些标准来确定删除哪些文件进行一些自定义控制(也许优先考虑某些子目录而不是其他子目录),但作为第一步,只需删除最旧的文件,/data直到磁盘可用空间达到最低安全阈值即可。我假设这个清理例程会定期运行,作为某种服务或通过 crontab。

相关内容