linux tmpwatch自动清理/tmp

作者: jaclon 分类: Linux, PHP 发布时间: 2013-03-07 09:49 ė 6没有评论

最近发现php的session目录(设置在/tmp/phpsession)不存在,添加后过一段时间又没有了,而且机器并没有重启,这让我觉得很奇怪。在网上找了一番,发现linux系统有个定时任务,叫做tmpwatch;其主要任务就是清理/tmp 和 /var ;默认清理720小时没有访问过的文件。

下面是这个定时任务的代码/etc/cron.daily/tmpwatch

flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
        -x /tmp/.font-unix -x /tmp/phpsession \
        -x /tmp/.ICE-unix -x /tmp/.Test-unix 240 /tmp
/usr/sbin/tmpwatch "$flags" 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
    if [ -d "$d" ]; then
        /usr/sbin/tmpwatch "$flags" -f 720 "$d"
    fi
done

这段代码中调用了tmpwatch命令,我们来看看这个命令
语法:tmpwatch [-afqv][–test][超期时间][目录…]
作用:执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。
参数:

-a或–all  删除任何类型的文件。
-m或–mtime   根据文件被更改时间
-c或–ctime     根据文件更改状态时间
-M或–dirtime  根据文件夹被更改时间
-f或–force  强制删除文件或目录,其效果类似rm指令的”-f”参数。
-l 不删除符号链接
-U或–exclude-user=用户名或uid 排除某用户的文件
-x 或–exclude=path 排除某路径
-X 或–exclude-pattern=pattern 排除某规则下的路径
-q或–quiet  不显示指令执行过程。
-v或–verbose  详细显示指令执行过程。
-test  仅作测试,并不真的删除文件或目录。

要想让/tmp/phpsession/不被清除,只要在定时任务中再增加一个-x /tmp/phpsession参数即可。当然一般情况下还真没有必要,除非你的php站真的过了一个月也没有人访问

本文出自 肥蕉博客@IT技术,热门话题,生活随笔,美图欣赏,转载时请注明出处及相应链接。

本文永久链接: http://www.bananawolf.com/html/2013/03/925.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

Ɣ回顶部