如何在Linux中⾃动删除或清理tmp⽂件夹内容?
每个Linux系统都有⼀个名为的⽬录/tmp,该⽬录已挂载了单独的⽂件系统。
它具有称为tmpfs的特殊⽂件系统。这是⼀个虚拟⽂件系统,操作系统将在系统引导时⾃动挂载/tmp挂载点。
如果要根据应⽤程序要求分别挂载/tmp⽬录。
是的,您可以挂载它,并且应该将其添加到/etc/fstab⽂件中。
/tmp⽬录是⼀个⽬录,⽤于在应⽤程序运⾏时保存临时⽂件(或会话⽂件)。linux查看当前文件夹内容
这些临时⽂件的处理完成后,它们将由应⽤程序⾃动删除。
默认情况下,仅在系统启动或重新引导时清理/tmp⽬录。
默认情况下,完成处理后,应⽤程序会⾃动从此⽬录中删除其内容。但是某些应⽤程序不会执⾏。
因此,我们需要⼿动删除这些⽂件,但是如果我们从此⽬录中删除⼀些活动⽂件,这会导致断开当前已建⽴的会话的连接。
但是,如果/tmp⽬录已满,我们需要删除未使⽤的⽂件,旧的会话⽂件或⽆效的⽂件,以释放⼀些磁盘空间。
可以通过使⽤以下三个选项来实现。
atime: ⽂件上次访问时间–访问时间显⽰⽂件或⽬录中的数据最后被命令或脚本等任何进程访问的时间。
ctime:⽂件上次更改时间– ctime显⽰⽂件或⽬录元数据何时更改。这意味着何时更改⽂件属性(如所有权或组等)。
mtime:⽂件上次修改时间– mtime显⽰您修改⽂件内容或保存⽂件的时间。除⾮⽂件属性被更新,否则⼤多数情况下ctime和mtime会相同。
⽅法1:如何使⽤mtime在Linux中删除早于“ X”天的/tmp⽂件
这些命令将帮助您删除“ X”天之前的⽂件。取决于您,如何执⾏此操作。您可以根据需要使⽤这些选项。
要使⽤mtime删除/tmp⽬录上早于2天的/tmp⽂件,请运⾏以下命令。
# find /tmp -type f -mtime +2 -delete;
or
# find /tmp -type f -mtime +2 -exec rm -f {} ;
or
# find /tmp -type f -mtime +2 | xargs rm -f
⽅法2:如何在Linux中使⽤atime删除早于“ X”天的/tmp⽂件
这些命令将帮助您删除“ X”天之前的⽂件。取决于您,如何执⾏此操作。您可以根据需要使⽤这些选项。
要使⽤atime删除/tmp⽬录上早于2天的/tmp⽂件,请运⾏以下命令。
# find /tmp -type f -atime +2 -delete;
or
# find /tmp -type f -atime +2 -exec rm -f {} ;
or
# find /tmp -type f -atime +2 | xargs rm -f
⽅法3:如何在Linux中使⽤ctime删除早于“ X”⼩时的/tmp⽂件
要使⽤ctime删除/tmp⽬录上早于5个⼩时的/tmp⽂件,请运⾏以下命令。
# find /tmp -type f -mmin -300 -delete;
or
# find /tmp -type f -mmin -300 -exec rm -f {} ;
or
# find /tmp -type f -mmin -300 | xargs rm -f
⽅法4:如何在Linux中使⽤Shell脚本删除早于“ X”⼩时的/tmp⽂件以上⽅法需要⼈⼯交互才能执⾏任务。
但是,我们⽆法在24/7之前关注这⼀点。如果您有1000多台服务器,那么解决⽅案是什么?
它应该通过脚本⾃动执⾏。要清理/tmp⽬录,我们可以编写⼀个⼩的Shell脚本。
该脚本将删除5⼩时之前的/tmp⽂件。
# vi /opt/script/tmp-cleanup.sh
#!/bin/bash
find /tmp -type f -mmin -300 -exec rm -f {} ;
最后添加⼀个cronjob以使其⾃动化。它将每五个⼩时运⾏⼀次。
# crontab -e
0 */5 * * * /bin/bash /opt/script/tmp-cleanup.sh
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论