Удаление старых/неиспользуемых файлов

Moric

Новичок
Удаление старых/неиспользуемых файлов

Предыстория:

Есть некий сложный сайт, с форумом, внутренней системой заданий, динамичными страницами и тд. Во многих местах требуется загрузка изображений и файлов. Все сделал, все работает. Но не удаляется.

Есть картинка, она лежит на сервере уже полгода, и за все это время ее никто не запросил. Вот лежит она такая несчастная и занимает свои 2 кб. Да не одна лежит, а пара десятков тысяч. И место казенное занимают.

Задача. Удалить ненужные старые файлы.

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

Как бы улучшить?
Может быть можно проверить время последнего запроса?
 

sky_fox

Новичок
20 тыс на 400 это 50 минут. Терпимо для единоразовой чистки.

А вообще сделайте наоборот, считайте свои файлы, записи бд и тд и выгрузите все имена используемых картинок, а затем перебором директории картинок ищите вхождение. вместо того, чтобы брать 1 имя и каждый раз рыть всю базу.

А вообще что такое в вашем понимании "ненужные"?
Если я у вас на форуме год назад создал сообщение с аттачем и за последние полгода он никому не понадобился - он считается ненужным? Но в сообщении используется
 

Moric

Новичок
dimagolov, спасибо, один из вариантов решения.

sky_fox, я пока сам не определился в понятии "ненужные". Ограничился рамками "совсем ненужные", те на них нет никаких ссылок, и запустил скрипт. А теперь думаю, что может случиться если я удалю файл на который есть ссылка, но по ней никто не ходил уже очень давно. Наверное, стоит сделать страницу-затычку "файл не найден, возможно его удалили или его не было никогда" )
 
Сверху