Я собираюсь поместить различные файлы /tmp
, и я задавался вопросом о правилах их удаления?
Я представляю, что это отличается для разных дистрибутивов, и мне особенно интересны версии для настольных компьютеров Ubuntu и Fedora.
Но хороший общий способ выяснить это было бы здорово.
Еще лучше был бы хороший общий способ управления им! (Что-то вроде «каждый день в 3 часа утра, удалите все /tmp
файлы старше 60 дней, но не очищайте каталог при перезагрузке»)
Ответы:
Это зависит от вашего распространения. В некоторых системах он удаляется только при загрузке, в других есть cronjobs, выполняющие удаление элементов старше n часов.
/etc/default/rcS
)./etc/cron.daily/tmpwatch
; RHEL7 и RedHat-подобный с systemd, в котором он настроен/usr/lib/tmpfiles.d/tmp.conf
, вызываетсяsystemd-tmpfiles-clean.service
)./etc/conf.d/bootmisc
.источник
systemd-tmpfiles-clean.service
.tmpreaper
пакет, это разветвленная версияtmpwatch
.cat: /etc/default/rcS: No such file or directory
В CentOS (и я полагаю, Fedora) есть работа в /etc/cron.daily
tmpwatch
. Это запустит/usr/sbin/tmpwatch
, что приведет к удалению файлов, к которым не было доступа в течение указанного количества часов, т.е. по умолчанию используется проверкаatime
файла, чтобы оценить, использовался ли он недавно.http://linux.die.net/man/8/tmpwatch
Другие дистрибутивы (и установки) могут иметь / tmp, смонтированный как tmpfs, который является файловой системой в памяти. Это будет очищено при загрузке.
источник
yum install tmpwatch
sudo find /tmp -type f -atime +10 -delete
удалит файлы tmp, к которым не было доступа в течение 10 дней, используйте с осторожностьюНа Ubuntu 11.10, который я использую, есть сценарий upstart
/etc/init/mounted-tmp.conf
. Начало этого говорит это:Вы можете прочитать более подробно, однако в целом
/tmp
очищается, когда он либо смонтирован, либо/usr
смонтирован. Это регулярно происходит при загрузке, поэтому эта/tmp
очистка выполняется при каждой загрузке.В
/etc/default/rcS
васTMPTIME
установлены, который используется в приведенном выше сценарии инициализации , чтобы накормить двеfind
команды в его конце - в основном контролируя удаление файлов на основе их времени (модифицированный, изменился, доступ).источник
На RHEL 6.2 файлы в / tmp удаляются tmpwatch, если к ним не было доступа в течение 10 дней.
Файл /etc/cron.daily/tmpwatch определяет способ вызова tmpwatch.
Аргументы -x - это файлы, которые нужно исключить. От второго до последнего аргумента - это время ожидания после последнего времени доступа. Последний аргумент - это каталог для изучения.
источник
Начиная с Fedora 18,
/tmp
онtmpfs
по умолчанию подключен (то есть к ОЗУ) и, таким образом, удаляется при отключении питания.Это поведение может быть отключено путем выдачи
systemctl mask tmp.mount
и перезагрузки (и повторного включения путем выдачиsystemctl unmask tmp.mount
и перезагрузки), а затем/tmp
будет смонтировано в/
файловой системе и может управляться/usr/lib/tmpfiles.d/tmp.conf
параметрами.См. Http://fedoraproject.org/wiki/Features/tmp-on-tmpfs и
man tmpfiles.d
более подробную информацию о каждом случае.источник
В openSUSE 13.2 поведение очистки можно контролировать с помощью следующей переменной в sysconfig.
MAX_DAYS_IN_TMP
MAX_DAYS_IN_LONG_TMP
TMP_DIRS_TO_CLEAR
LONG_TMP_DIRS_TO_CLEAR
OWNER_TO_KEEP_IN_TMP
CLEAR_TMP_DIRS_AT_BOOTUP
Вы можете изменить эти переменные (использование каждой переменной также можно найти там)
/etc/sysconfig/cron
файл вручную в командной строке.источник
Сорта временные файлы, которые вы не хотите очищать при загрузке, находятся в / var / tmp
Вот для чего это :-)
источник