Linux文件系统中/tmp的临时文件清理说明


在Linux系统中/tmp文件夹里是存放临时文件的,在一定的时间内会被清空,则多长时间以后面的会被清空呢?

不一样的Linux系统又不一样的清空方式:

RHEL\CentOS\Fedora\:

/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

第一行相当于一个标记(参数);

第二行就是针对/tmp目录里面排除的目录

第三行,这是对这个/tmp目录的清理,下面的是针对其他目录的清理。

在红色部分附近/usr/sbin/tmpwatch "$flags" 30d /var/tmp这一行

红色的表示30天的意思,这个就决定了30天清理/tmp下不访问的文件。

你想一天一清理的话,就把这个30d改成1d。

但有个问题需要注意,如果你设置更短的时间来清理的话,比如说是30分钟、10秒等等,

但你会发现重新电脑,这个并无效他不清理/tmp文件夹里面的内容,

因为tmpwatch的上层目录是/etc/cron.daily/,而这个目录是一天执行一次计划

任务,所以说,你设置了比一天更短的时间,他就不起作用了。

所以,在RHEL6中,系统自动清理/tmp文件夹的默认时限是30天

Debian\Ubuntu:

在/tmp文件夹里面的内容,每次开机都会被清空,如果不想让他自动清理的话,只

需要更改rcS文件中的TMPTIME的值。
我们看如何来修改
vi /etc/default/rcS

TMPTIME=0 (默认是被注释的,即每次启动都会清理)
修改成
TMPTIME=-1或者是无限大
改成这样的话,系统在重新启动的时候就不会清理你的/tmp目录了。
当然,如果说要限制多少时间来更改的话,就可以改成相应的数字。

所以,在Ubuntu中,系统自动清理/tmp文件夹的时限默认每次启动

参考资料:http://lei3056.blog.163.com/blog/static/39532279201281174519863/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM