LINUX.ORG.RU
ФорумTalks

ФС с автоматическим удалением файлов

 


0

1

Скажем, у меня есть файлопомойка с загрузками и временными файлами. Я хочу, чтобы мне не нужно было вручную удалять файлы, а ФС сама удаляла их по определенному критерию, когда заканчивается место на винте. Скажем, самые старые или редко открываемые (или оба). Примерно так, как работает мозг человека: по мере появление новой информации старая начинает забываться.

Как вариант - сначала сжимать старые файлы, а уже потом удалять, если совсем места нет.



Последнее исправление: vurdalak (всего исправлений: 2)
Ответ на: комментарий от vurdalak

А зачем так? Пихни его в кронтаб, что бы запускался к примеру раз в месяц. После запуска пусть удаляет все файлы у которых дата изменений > 25 дней.

dada
()
Ответ на: комментарий от vurdalak

Можно периодически проверять, появился ли новый файл, например. Получать список файлов, сортировать по времени создания, сравнивать время самого нового со последним учтённым временем.

sT331h0rs3
()
Ответ на: комментарий от sT331h0rs3

Это не Ъ, нужно запускать при добавлении файла. Поэтому идеальным решением была бы отдельная ФС.

vurdalak
() автор топика
Ответ на: комментарий от vurdalak

А как заставить его запускаться при добавлении нового файла в каталог?

man inotify

google inotify-tools

dikiy
()
Ответ на: комментарий от dikiy

Потому что ты можешь иногда за неделю выкачать 10 ГиБ новых файлов, а иногда за день 100 ГиБ. Крон с фиксированным временем проверки тут не катит.

vurdalak
() автор топика
Ответ на: комментарий от vurdalak

Потому что ты можешь иногда за неделю выкачать 10 ГиБ новых файлов, а иногда за день 100 ГиБ. Крон с фиксированным временем проверки тут не катит.

тогда cron раз в неделю + inotify на нужное событие.

dikiy
()
Ответ на: комментарий от vurdalak

а иногда за день 100 ГиБ

Мсье знатный корсар. Очевидно с тонной свободного времени.
Садись и пиши, чо. Никаких оправданий не вижу.

Deleted
()
Ответ на: комментарий от Deleted

Мсье знатный корсар. Очевидно с тонной свободного времени.

Ну это я погорячился конечно. 100 - это с отдачей, а чистой закачки обычно намного меньше. Но все же иногда бывает, что загружаю за несколько часов сериал в 50 ГиБ целиком. А в другой день могу вообще ничего не загружать.

vurdalak
() автор топика
Ответ на: комментарий от x3al

А как заставить его запускаться при добавлении нового файла в каталог?

incrontab

спасибо. Полезная штука.

dikiy
()
Ответ на: комментарий от vurdalak

Потому что ты можешь иногда за неделю выкачать 10 ГиБ новых файлов, а иногда за день 100 ГиБ. Крон с фиксированным временем проверки тут не катит.

Так проверяйте скриптом сначала du -h и поставьте на крон хоть раз в минуту.

Если уж и этот вариант не приемлим - добро пожаловать в OpenSource. В том плане, надо - пишите.

Deleted
()
Ответ на: комментарий от vurdalak

Это не Ъ, нужно запускать при добавлении файла. Поэтому идеальным решением была бы отдельная ФС.


inotify

blackst0ne
()

Вроде бы inotify еще никто не советовал

Orlangoor
()
Ответ на: комментарий от vurdalak

inotify. Или более высокоуровневые решения типа gamin/fam. Но тут понадобится чуть более адекватный ЯП, чем баш.

Deleted
()

Вообще, не повредило бы иметь такую ФС. Для видеорегистраторов, например.

lyset
()

Текстовый редактор на ваш вкус, crontab -e, справочник по bash в случае необходимости. Можно сделать что угодно. А сабж в обязанности самой фс по определению не должен входить.

erfea 👍
()

Странно, что никто не посоветовал inotify.

shimon
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.