Как /tmp
очищается каталог? Это автоматически? Если так, как часто это убирается?
filesystem
tmp
Оливье Лалонд
источник
источник
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
в / etc / fstab.Ответы:
Запись! Этот ответ устарел, по крайней мере, с Ubuntu 14.04. Смотрите другие ответы для текущей ситуации, и если они окажутся правильными, то яростно проголосуйте за них. Также оставьте комментарий, чтобы я мог поставить ссылку здесь на текущий правильный ответ.
Для 14.04 см. Https://askubuntu.com/a/759048/1366.
За 16.10 см. Https://askubuntu.com/a/857154/453746.
Старый ответ от 2011 года:
Очистка
/tmp
выполняется сценарием выскочки/etc/init/mounted-tmp.conf
. Скрипт запускается upstart при каждом/tmp
монтировании. Практически это означает при каждой загрузке.Сценарий выполняет примерно следующее: если файл
/tmp
старше, чем$TMPTIME
дни, он будет удален.Значение по умолчанию равно
$TMPTIME
0, что означает, что каждый файл и каталог в нем/tmp
удаляются.$TMPTIME
переменная среды, определенная в/etc/default/rcS
.источник
Каталог очищается по умолчанию при каждой загрузке, потому что
TMPTIME
по умолчанию 0.Здесь вы можете изменить время в следующем файле:
TMPTIME
говорит, как часто tmp dir должен очищаться в дняхисточник
tmpreaper
шанс.tmpwatch
должен быть соответствующий инструмент.Хотя
/tmp
папка не предназначена для долгосрочного хранения файлов, иногда вы хотите хранить ее немного дольше, чем при следующей перезагрузке , что по умолчанию в системах Ubuntu. Я знаю, что раз или два я загружал что-то во/tmp
время тестирования, перезагружал после внесения изменений, а затем снова терял исходные данные. Это можно изменить, если вы хотите, чтобы ваши/tmp
файлы были немного дольше.Изменение
/tmp
частоты очисткиПараметр по умолчанию, который указывает вашей системе очистить
/tmp
при перезагрузке, хранится в/etc/default/rcS
файле. Значение , которое мы будем смотреть на этоTMPTIME
.Текущее значение
TMPTIME=0
говорит об удалении файлов при перезагрузке, несмотря на возраст файла. Изменение этого значения на другое (положительное) число изменит количество дней, в течение которых файл может выжить/tmp
.Этот параметр позволит файлам оставаться
/tmp
до тех пор, пока им не исполнится неделя, а затем удалит их при следующей перезагрузке. Отрицательное число (TMPTIME=-1
) указывает системе никогда ничего не удалять в/tmp
. Это, вероятно, не то, что вы хотите, но доступно.источник
/etc/init/mounted-temp.conf
, но у этого есть линия,start on mounted MOUNTPOINT=/tmp
которая заставляет меня думать, что это не применимо./var/tmp
вместо/tmp
.Я проверяю это на Ubuntu 16.10. Я могу подтвердить, что редактирование / etc / default / rcS больше не имеет никакого эффекта, и файлы в tmp стираются при перезагрузке, независимо от того, что вы вставили в этот файл. Как уже упоминалось, tmpreaper больше не используется.
Я думаю, что правильный ответ заключается в том, что Ubuntu 16.10 имеет новую настройку. Существует папка /etc/tmpfiles.d, документированная на странице руководства "tmpfiles.d". В эту папку необходимо поместить файл конфигурации, чтобы контролировать, нужно ли удалять / tmp. Это то, что я делаю, чтобы мешать перезагрузкам стирать файлы в / tmp, если им не исполнилось 20 дней:
Замените «20d» на «-», если вы не хотите, чтобы файлы были удалены. Это мое лучшее усилие, эта страница руководства почти непроницаема с деталями.
Преимущество новой настройки заключается в том, что очиститель файлов все еще может работать, даже если система не перезагружается (как в случае всегда на сервере). Это большой плюс, я думаю.
источник
man tmpfiles.d
d /tmp/ - - - 20d
systemctl start systemd-tmpfiles-clean
В Ubuntu 14.04 это делается с помощью
tmpreaper
ежедневного cron (from/etc/cron.daily
). Программу можно настроить через/etc/default/rcS
и/etc/tmpreaper.conf
.источник
До 14.04:
Он очищается каждый раз при перезагрузке.
источник
tmpreaper
.В
systemd
Ubuntu (15.10 и новее) это делается systemd с использованиемsystemd-tmpfiles-clean
сервиса и таймера:А также
Так
systemd-tmpfiles-clean
работает при выключении, а один раз в день иначе. Очищаемые файлы могут быть расширены с использованием/etc/tmpfiles.d
упомянутых в другом ответе .Вы можете сами изменить поведение таймера
systemctl edit systemd-tmpfiles-clean.timer
, используя различныеTimer
параметры конфигурации systemd (см.man 5 systemd.timer
).источник
/tmp
до сих пор не убрали. и мне нужно его почистить. даже ручной запускsudo systemctl start systemd-tmpfiles-clean
не помогает. Есть идеи почему?На одном из наших серверов под управлением Ubuntu у нас есть скрипт для удаления файлов в / tmp, и он работает ночью.
Сценарий:
Просто сохраните содержимое выше в файл chmod 775 файл и создайте запись cron для его запуска. Поскольку это веб-сервер, мы не хотим его перезагружать по понятным причинам.
источник
ln -s /usr /tmp/kaboom
или дажеln -s /* /tmp/
...