关于Linux系统清理/tmp/文件夹,你可能想知道的

咱们知道,在Linux系统中/tmp文件夹里面的文件会被清空,至于多长时间被清空,如何清空的,可能你们知识的就很少了,因此,今天咱们就来剖析一个这两个问题。测试

在RHEL\CentOS\Fedora\系统中(本次实验是在RHEL6中进行的)

先来看看tmpwatch这个命令,他的做用就是删除一段时间内不使用的文件(removes files which haven’t been accessed for a period of time)。具体的用法就很少说了,有兴趣的自行研究。咱们主要看看和这个命令相关的计划任务文件。 
他就是/etc/cron.daily/tmpwatch,咱们能够看一下这个文件里面的内容 
#! /bin/sh 
flags=-umc 
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \ 
        -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \ 
        -X ‘/tmp/hsperfdata_*’ 10d /tmp 
/usr/sbin/tmpwatch "$flags" 30d /var/tmp 
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do 
    if [ -d "$d" ]; then 
        /usr/sbin/tmpwatch "$flags" -f 30d "$d" 
    fi 
done
spa

这个脚本你们仔细分析一下就明白了,第一行至关于一个标记(参数),第二行就是针对/tmp目录里面排除的目录,第三行,这是对这个/tmp目录的清理,下面的是针对其余目录的清理,就不说了。pwa

咱们就来看/usr/sbin/tmpwatch "$flags" 30d /var/tmp这一行,关键的是这个30d,就是30天的意思,这个就决定了30天清理/tmp下不访问的文件。若是说,你想一天一清理的话,就把这个30d改为1d。这个你懂的……哈哈!unix

但有个问题须要注意,若是你设置更短的时间来清理的话,好比说是30分钟、10秒等等,你能够在这个文件中设置,但你会发现从新电脑,他不清理/tmp文件夹里面的内容,这是为何呢?这就是tmpwatch他所在的位置决定的,他的上层目录是/etc/cron.daily/,而这个目录是第天执行一次计划任务,因此说,你设置了比一天更短的时间,他就不起做用了。这下明白了吧。 
因此结论是:在RHEL6中,系统自动清理/tmp文件夹的默认时限是30天code

在Debian\Ubuntu系统中(Ubuntu10.10为实验环境)

在Ubuntu系统中,在/tmp文件夹里面的内容,每次开机都会被清空,若是不想让他自动清理的话,只须要更改rcS文件中的TMPTIME的值。 
咱们看如何来修改 
sudo vi /etc/default/rcS
把 
TMPTIME=0
修改为 
TMPTIME=-1或者是无限大
改为这样的话,系统在从新启动的时候就不会清理你的/tmp目录了。 
依些类推,若是说要限制多少时间来更改的话,就能够改为相应的数字(本人没有测试,我是这么理解的)ci

因此结论是:在Ubuntu中,系统自动清理/tmp文件夹的时限默认每次启动rem

相关文章
相关标签/搜索