tmpwatch это очень удобная и легкая утилита для удаления “старых файлов”. На мой взгляд ее удобнее использовать за обычный find и по тестам работает tmpwatch с меньшей нагрузкой (при удалении миллионов файлов).
Установка на Debian, Ubuntu:
Скачиваем свежую версию исходников:
cd tmpwatch-2.11
./configure
make check
make install
Установка на RHEL: CentOS, Fedora:
yum install tmpwatch
tmpwatch [-u|-m|-c] [options] время дирректория
Параметры -u -m -c обозначают тип времени по которому будет происходить отбор для последующего удаления:
-u –atime – время последнего доступа к файлам
-m –mtime – время создания файлов
-c –ctime – время изменения индексного дискриптора (иноды) для файлов
Опции (не все. подробнее в man tmpwatch):
-v – verbose
-t, --test – не удаляет файлы, режим теста;
-a, --all – удалить все типы файлов, символические ссылки и каталоги;
-d, --nodirs - не удалять каталоги;
-d, --nosymlinks - не удалять симлинки;
-f, --force - форсированное удаление файлов, даже если root не имеет доступа на запись;
-q, --quiet - выводит только фатальные ошибки;
-U, --exclude-user=user - исключение файлов и директорий, которые принадлежат пользователю user либо его ID;
-x, --exclude=path - исключение директории;
-X, --exclude-pattern=pattern - исключение директорий и файлов и маске.
Примеры использования:
tmpwatch -vv 24 /tmp – удаление всех файлов старше 24 часов из каталога /tmp, с очень подробным отчетом.
tmpwatch -dav 5m /tmp – принудительное (безусловное) удаление файлов, но не директорий, старше 5 минут с подробным выводом.
tmpwatch -c 24m /tmp - пример удаление старых сессий.