четверг, 12 мая 2016 г.

Solaris: /var/tmp housekeeping

Подавляющее большинство админов даже не заглядывало в /var/tmp, верно я говорю, коллеги? 

Между тем, следует знать, что конкретно на Солярис (да и на большинстве других *NIX ОС), в отличие от /tmp (только на Солярис она находится в RAM и очищается при каждом рестарте), эта директория не очищается автоматически. Совсем.

Если находится в аптайме длительное время, и при этом работает под приличной нагрузкой, а вы пожадничали на слайс /var, вы весьма скоро можете столкнуться с тем, что на /var место закончилось.

Что грозит, в ряде случаев, остановкой сервисов, падением сервера и другими приятными вещами.

Как я говорю в подобных случаях - пусть сервер пашет, он железянный.

Загоните задачу housekeepeng в cron, примерно вот такую:
 # Cleanup /var/tmp. Running weekly at 21:00 Saturday  
 21 0 * * 6 /bin/find /var/tmp -type f -atime +7 -mtime +7 -exec /bin/rm -f {} \; >/dev/null 2>&1  
 21 0 * * 6 /bin/find /var/tmp -type d -atime +7 -mtime +7 -exec /bin/rm -r {} \; >/dev/null 2>&1  

Что делает эта пара задач?

Она смотрит в /var/tmp, и если находит файлы или директории с временем доступа либо временем модификации старше 7 суток, то удаляет их не задавая лишних вопросов.

Все просто. Если файлы или директории в /var/tmp более недели не понадобились - они не нужны.