Недавно делал что-то типа частного файлообменника, и чтобы не контролировать что пользователи закачивают, добавил скрипт в cron чтобы файлы которым больше 3 дней удалялись автоматически.
Пример команды для удаления файлов которым больше N дней:
find /var/www/share/ -type f -mtime +N -exec rm {} \;
Если нужно удалять директории и все что в них есть, тогда этой командой:
find /var/www/share/ -type d -mtime +N -exec rm -rfv {} \;
Можно также писать логи (и не забыть настроить logrotate):
find /var/www/share/ -type d -mtime +N -exec rm -rfv {} \; >> /dir/log.txt
Вместо удаления можно проверить какие данные будут удалены командой:
find /var/www/share/ -type d -mtime +N -print
Пишем команду в файл и ложим в желаемую директорию, например /home/user/share.sh
Добавляем ссылку на этот файл в /etc/crontab. Планировщик будет выполнять его каждый день в 4 утра от имени пользователя «www-data» и тем самым будут удаляться файлы которые хранятся больше N дней:
0 4 * * * www-data /home/user/share.sh > /dev/null 2>&1
Смотрите также мои статьи:
Как изменить дату файла в Linux
Скрипт проверки свободного места на HDD