| 发行版 | 何时删除 | 如何配置 |
|---|---|---|
| Ubuntu 14.04 | 系统开机引导 | 在 /etc/default/rcS 中指定 TMPTIME 参数 |
| Ubuntu 16.10 | 系统开机引导 | 在 /etc/tmpfiles.d/tmp.conf 中指定 |
| RedHat-like RHEL6 | 每日定时 | /etc/cron.daily/tmpwatch |
| RedHat-like RHEL7 | 每日定时 | /usr/lib/tmpfiles.d/tmp.conf |
| Gentoo | / | /etc/conf.d/bootmisc |
systemd-tmpfiles-clean.service 服务
服务: systemd-tmpfiles-clean.service
Linux 下该服务的执行可以根据 systemd-tmpfiles-clean.timer 进行管理
[root@shuidi-shell-001:/usr/lib/tmpfiles.d]# cat /usr/lib/systemd/system/systemd-tmpfiles-clean.timer
# 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.
[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
# OnBootSec 表示相对于机器被启动的时间点
# 表示相对于匹配单元(本标签下Unit=指定的单元)最后一次被启动的时间点
上述配置文件表示两种情况会执行该服务
[root@shuidi-shell-001:/usr/lib/tmpfiles.d]# cat /usr/lib/systemd/system/systemd-tmpfiles-clean.service
# 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.
[Unit]
Description=Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target time-sync.target
Before=shutdown.target
[Service]
Type=oneshot
ExecStart=/usr/bin/systemd-tmpfiles --clean
IOSchedulingClass=idle
# Type=oneshot 这一选项适用于只执行一项任务、随后立即退出的服务
# 命令文件 /usr/bin/systemd-tmpfiles
# 命令参数 --clean
# 通过定期执行 /usr/bin/systemd-tmpfiles --clean 完成清理
[root@shuidi-shell-001:/usr/lib/tmpfiles.d]# /usr/bin/systemd-tmpfiles --help
systemd-tmpfiles [OPTIONS...] [CONFIGURATION FILE...]
Creates, deletes and cleans up volatile and temporary files and directories.
-h --help Show this help
--version Show package version
--create Create marked files/directories
--clean Clean up marked directories
--remove Remove marked files/directories
--boot Execute actions only safe at boot
--prefix=PATH Only apply rules with the specified prefix
--exclude-prefix=PATH Ignore rules with the specified prefix
--root=PATH Operate on an alternate filesystem root
# --clean 将会清理被标记的文件目录
定义在配置文件 /usr/lib/tmpfiles.d/tmp.conf 中
配置文件: /usr/lib/tmpfiles.d/tmp.conf
[root@shuidi-shell-001:/usr/lib/tmpfiles.d]# cat /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
#Type Path Mode User Group Age Argument
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
上述配置表示:

