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 ★★☆☆☆
()
Ответ на: комментарий от AiFiLTr0

И можешь его с nice -n19 гонять хоть постоянно

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

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

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

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

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

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


inotify

blackst0ne ★★★★★
()

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

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

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

Deleted
()

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

lyset ★★★
()

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

erfea ★★★★★
()

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

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