linux临时保存数据文件,使用systemd-tmpfiles在Linux中自动清除未使用的临时文件

本文介绍使用systemd-tmpfiles以在Linux操作系统中自动清除未使用的临时文件。在大多数现代Linux系统中,需要大量临时文件和目录才能进行最佳处理,如果不经常清理,它们可能会累积使用更多的存储空间,因此,有必要清除旧文件,以免它们占用磁盘空间。另外,一些用户/应用程序将使用/tmp目录来保存临时数据,而其他用户/应用程序将使用特定的位置,例如守护进程和/run下的用户特定目录,文件仅存在于内存中,如果系统重新启动或断电,这些存储的所有内容都将消失。

在Linux中自动清除未使用的临时文件

在Red Hat Enterprise Linux 7和更高版本中,包含了一个称为systemd-tmpfiles的新工具,该工具提供了一种结构化且可配置的方法来管理临时目录和文件。

可以使用以下命令检查启动服务:

$ systemctl status  systemd-tmpfiles-*

339e760af074cf225d532586ae9eca61.png

启动systemd-tmpfiles-setup服务单元时,它将运行systemd-tmpfiles –create –remove命令,该命令从以下位置检查配置文件:

/usr/lib/tmpfiles.d/.conf

/run/tmpfiles.d/.conf

/etc/tmpfiles.d/*.conf

如果上述配置文件中有标记为删除的文件和目录,则会将其删除,对于标记为创建的文件和目录,必要时使用正确的权限创建它们。

使用Systemd计时器清除临时文件

一个名为systemd-tmpfiles-clean.timer的systemd计时器单元会按固定的时间间隔触发systemd-tmpfiles-clean.service,然后执行systemd-tmpfiles -clean命令。

将在[Timer]选项中指定启动服务的频率,请参见下面的示例:

$ 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

在上面的示例中,系统启动后15分钟将触发systemd-tmpfiles-clean.service,其他任何触发都在上次服务触发后24小时发生,可以根据自己的情况调整值。

如果进行更改,请确保重新加载服务:

sudo systemctl daemon-reload

sudo systemctl enable --now systemd-tmpfiles-clean.timer

手动清理临时文件

让我们配置systemd-tmpfiles来清理/mytmp目录,这将确保目录不包含最近3天未使用过的文件。

可以复制示例配置/usr/lib/tmpfiles.d/tmp.conf文件并进行更新。

如下编辑文件:

$ sudo vim /etc/tmpfiles.d/mytmp.conf

See tmpfiles.d(5) for details

# Clear tmp directories separately, to make them easier to override

q /mytmp 1777 root root 3d

如果要确保拥有正确所有权的直接性,请创建如下配置:

d /run/mytmp 0700 root root 60s

必须清除该目录中最近60秒钟内未使用的任何文件。

创建文件后,使用以下命令确保文件包含适当的配置:

sudo systemd-tmpfiles --create /etc/tmpfiles.d/mytmp.conf

如果在输出中看不到任何错误,则表明配置设置正确,可以随时使用以下命令调用手动清理:

systemd-tmpfiles --clean /etc/tmpfiles.d/mytmp.conf

相关主题

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值