Очистка каталога /tmp — различия между версиями

Материал из Wiki AlterOS
Перейти к: навигация, поиск
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
 +
 +
Настройки параметров очистки хранятся в файле, таймере и службе:
 +
 +
/usr/lib/tmpfiles.d/tmp.conf
 +
/usr/lib/systemd/system/systemd-tmpfiles-clean.timer
 +
/usr/lib/systemd/system/systemd-tmpfiles-clean.service
 +
 +
 +
 +
Настройки по умолчанию:
 +
удаление файлов/каталогов в /tmp, к которым не обращались более 10 дней (определено в tmp.conf)
 +
удаление файлов/каталогов в /var/tmp, к которым не обращались более 30 дней(определено в tmp.conf)
 +
маски файлов, которые не будут удалены(определено в tmp.conf)
 +
 +
Для ручного удаления используется команда 
 +
 +
/usr/bin/systemd-tmpfiles –clean # (определено в systemd-tmpfiles-clean.service)
 +
 +
В файле /usr/lib/systemd/system/systemd-tmpfiles-clean.timer задается время срабатывания очистки:
 +
[Unit]
 +
Description=Daily Cleanup of Temporary Directories
 +
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
 
   
 
   
Настройки параметров очистки хранятся в файле
+
[Timer]
  /usr/lib/tmpfiles.d/tmp.conf
+
OnBootSec=15min
 +
OnUnitActiveSec=1d
 +
 
 +
Описание опций:
  
Пример содержимого
+
OnBootSec=15min # Время срабатывания таймера задаётся относительно момента загрузки системы.
 +
OnUnitActiveSec=1d  #Время срабатывания таймера задаётся относительно того времени, когда таймер, который должен быть активирован, был активирован в последний раз.
 +
 
 +
'''Таким образом очистка выполняется либо через 15 минут после загрузки системы или по прошествии 1 дня с момента предыдущей очистки.'''
 +
 
 +
Пример содержимого /usr/lib/tmpfiles.d/tmp.conf
 
  #  This file is part of systemd.
 
  #  This file is part of systemd.
 
  #
 
  #
Строка 22: Строка 53:
 
  x /var/tmp/systemd-private-%b-*
 
  x /var/tmp/systemd-private-%b-*
 
  X /var/tmp/systemd-private-%b-*/tmp
 
  X /var/tmp/systemd-private-%b-*/tmp
 +
 +
 +
Таким образом, файлы и папки в каталоге /tmp к которым не обращались 10 дней будут попадать под критерии очистки
 +
 +
Файлы и папки в каталоге /var/tmp к которым не обращались 30 дней будут попадать под критерии очистки
 +
 +
Для проверки, по какой причине файлы в каталоге не удаляются по прошествии времени из файлов конфигурации, можно воспользоваться командой от пользователя с правами root
 +
SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean
 +
 +
В ответ получим информацию об очистке и причинах по которым файлы и каталоги не удалены в системе, например:
 +
 +
File "/tmp/anydesk/ad_mailbox_3650_0_0_evt_subevt_0": modify time Tue 2022-10-25 15:15:55.970764 MSK is too new.

Текущая версия на 11:28, 26 октября 2022


Настройки параметров очистки хранятся в файле, таймере и службе:

/usr/lib/tmpfiles.d/tmp.conf
/usr/lib/systemd/system/systemd-tmpfiles-clean.timer
/usr/lib/systemd/system/systemd-tmpfiles-clean.service


Настройки по умолчанию:

удаление файлов/каталогов в /tmp, к которым не обращались более 10 дней (определено в tmp.conf)
удаление файлов/каталогов в /var/tmp, к которым не обращались более 30 дней(определено в tmp.conf)
маски файлов, которые не будут удалены(определено в tmp.conf)

Для ручного удаления используется команда

/usr/bin/systemd-tmpfiles –clean # (определено в systemd-tmpfiles-clean.service)

В файле /usr/lib/systemd/system/systemd-tmpfiles-clean.timer задается время срабатывания очистки:

[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)

[Timer]
OnBootSec=15min
OnUnitActiveSec=1d

Описание опций:

OnBootSec=15min # Время срабатывания таймера задаётся относительно момента загрузки системы.
OnUnitActiveSec=1d  #Время срабатывания таймера задаётся относительно того времени, когда таймер, который должен быть активирован, был активирован в последний раз.

Таким образом очистка выполняется либо через 15 минут после загрузки системы или по прошествии 1 дня с момента предыдущей очистки.

Пример содержимого /usr/lib/tmpfiles.d/tmp.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

# See tmpfiles.d(5) for details

# Clear tmp directories separately, to make them easier to override
v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

# Exclude namespace mountpoints created with PrivateTmp=yes
x /tmp/systemd-private-%b-*
X /tmp/systemd-private-%b-*/tmp
x /var/tmp/systemd-private-%b-*
X /var/tmp/systemd-private-%b-*/tmp


Таким образом, файлы и папки в каталоге /tmp к которым не обращались 10 дней будут попадать под критерии очистки

Файлы и папки в каталоге /var/tmp к которым не обращались 30 дней будут попадать под критерии очистки

Для проверки, по какой причине файлы в каталоге не удаляются по прошествии времени из файлов конфигурации, можно воспользоваться командой от пользователя с правами root

SYSTEMD_LOG_TARGET=console SYSTEMD_LOG_LEVEL=debug /usr/bin/systemd-tmpfiles --clean

В ответ получим информацию об очистке и причинах по которым файлы и каталоги не удалены в системе, например:

File "/tmp/anydesk/ad_mailbox_3650_0_0_evt_subevt_0": modify time Tue 2022-10-25 15:15:55.970764 MSK is too new.