Как мы знаем, каталог / tmp очищается по умолчанию при каждой загрузке, потому что TMPTIME по умолчанию равен 0.
Здесь вы можете изменить время в следующем файле:
/etc/default/rcS
Очистка при каждой загрузке не идеальна для машины, которая никогда не перезагружается, например, для сервера. У меня более 500 000 файлов, занимающих 5 ГБ в моем / tmp, потому что мой сервер работает без подзарядки 378 дней.
Мой вопрос Как настроить TMPTIME в часах, чтобы / tmp файлы удалялись автоматически.
Что я должен делать ?
TMPTIME
используется для настройки скрипта, удаляющего временные файлы при загрузке Он устанавливает максимальный возраст, который может быть до удаления, например если он был установлен на 5, то все, что старше 5 дней, будут удалены при запуске скрипта. Сам скрипт — это скрипт, который монтирует ваш /tmp
каталог и, как правило, работает только при перезагрузке. Как вы уже сказали, этот сервер не часто перезагружается, так что это вам мало пригодится.
Возможным решением вашей проблемы является tmpreaper
команда. Он доступен в репозиториях пакетов, например sudo apt-get install tmpreaper
в системах Debian или sudo yum -y install tmpreaper
в системах на базе RedHat.
После того, как он установлен, его можно запустить следующим образом:
tmpreaper [options] <time_spec> <dirs>
Чтобы привести пример удаления всего старше 12 часов из /tmp
каталог, вы бы сделали:
tmpreaper 12h /tmp
Затем вы можете добавить это в почасовой crontab, чтобы каждый час он удалял файлы старше 12 часов, например:
17 * * * * tmpreaper 12h /tmp
Я бы рекомендовал использовать -t
во время тестирования, чтобы убедиться, что он удалит то, что вы ожидаете, прежде чем запустить его правильно. Это выведет список файлов, которые были бы удалены без фактического удаления. Для более тонкого контроля, взгляните на man tmpreaper
для опций для контроля типов удаленных файлов и многое другое.
Если вы не хотите устанавливать tmpreaper
Вы могли бы сделать это с помощью find
команда, например find /tmp -mmin +720 -delete
удалить файлы, измененные не менее 12 часов назад. tmpreaper
Хотя она более сфокусирована на поставленной задаче, поэтому вам будет проще с ней работать.
Других решений пока нет …