У меня есть программное приложение, которое постоянно записывает файлы на диск с высокой скоростью. Каждый файл имеет небольшой размер (менее 10 МБ или около того), но он создается каждые 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.