

Чисто психологически - проще всего повесить эту задачу на автоматику. Чтобы, скажем, там убивалось все, что старше месяца (за это время реально нужное прекрасно можно отсортировать руками. Даже если лень или некогда это сделать сразу. А до чего руки за месяц не дошли - это 99.9% мусор, который никогда не понадобится).
Остался технический вопрос: как это все чистить по таким условиям, технически? Ответ:
1. Пишем скрипт:
Код: Выделить всё
touch /path/to/downloads/folder
find -L /path/to/downloads/folder -type f,d -mtime +30 -delete
3. Закидываем скрипт в
/etc/cron.hourly
Готово.
Зачем нужен touch в первой строчке скрипта? Это чтобы find НИКОГДА не попытался удалить саму /path/to/downloads/folder - мы обновляем ее время изменения перед выполнением find, и так она всегда будет "слишком свежей" для удаления.
Во второй строчке find будет искать все что старше 30 дней, и является файлом или каталогом. И прибивать найденное.
Зачем используем cron.hourly а не daily? Потому, что последний выполняется раз в день, что вроде бы нам и надо... да только этот раз - в час ночи (в большинстве дистрибутивов). А если время прошло - выполнено не будет. Так что путь лучше каждый час отрабатывает, после первого запуска (и убивания копившегося годами) это будет быстро, т.к. find очень эффективен.
P.S. Особо феерически работает на btrfs - там оно ищет и удаляет практически любое количество файлов почти мгновенно. (За счет отложенной очистки btrfs - она тела удаленных файлов потом сама фоном чистит, не грузя систему.)