Очистка каталога /tmp

Материал из Wiki AlterOS
Перейти к: навигация, поиск


Настройки параметров очистки хранятся в файлах

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


удаление файлов/каталогов в /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=10min
OnUnitActiveSec=1d

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

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

Пример содержимого /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


Для проверки, по какой причине файлы в каталоге не удаляются по прошествии времени из файлов конфигурации, можно воспользоваться командой от пользователя с правами 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.