Skip to content


tmpwatch 让 /tmp 目录下文件异常丢失

今天服务器上/tmp下的php上传目录upload又没了,不是第一次了,郁闷的很

google下后找到原因,原来是tmpwath干的好事。

cat /etc/cron.daily/tmpwatch
tmpwatch 文件内容

  1. /usr/sbin/tmpwatch -x /tmp/.X11-unix -x /tmp/.XIM-unix -x /tmp/.font-unix     -x /tmp/.ICE-unix -x /tmp/.Test-unix 240 /tmp
  2. /usr/sbin/tmpwatch 720 /var/tmp
  3. for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
  4.     if [ -d "$d" ]; then
  5.         /usr/sbin/tmpwatch -f 720 $d
  6.     fi
  7. done

系统每天会用tmpwatch命令检查并删除 /tmp 下超过240小时未访问过的文件和目录

tmpwatch简介

  1. 功能说明:删除暂存文件。
  2.  
  3. 语  法:tmpwatch [-afqv][--test][超期时间][目录...]
  4.  
  5. 补充说明:执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。
  6.  
  7. 参  数:
  8.  -a或--all  删除任何类型的文件。
  9.  -f或--force  强制删除文件或目录,其效果类似rm指令的"-f"参数。
  10.  -q或--quiet  不显示指令执行过程。
  11.  -v或--verbose  详细显示指令执行过程。
  12.  -test  仅作测试,并不真的删除文件或目录。

php.ini中设置

  1. #临时文件的上传目录
  2. upload_tmp_dir = "/tmp/upload"
  3. #session 分采用分级目录
  4. session.save_path = "1;/tmp/session"
  5. ; 4 bits: 0-9, a-f
  6. ; 5 bits: 0-9, a-v
  7. ; 6 bits: 0-9, a-z, A-Z, "-", ","
  8. session.hash_bits_per_character = 4

解决方法
-x 可以排除删除某些目录
-d 可以不删除空目录

  1. /usr/sbin/tmpwatch -x /tmp/.X11-unix -x /tmp/.XIM-unix -x /tmp/.font-unix     -x /tmp/.ICE-unix -x /tmp/.Test-unix -x /tmp/session -x /tmp/upload 240 /tmp
  2. /usr/sbin/tmpwatch 720 /var/tmp
  3. for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
  4.     if [ -d "$d" ]; then
  5.         /usr/sbin/tmpwatch -f 720 $d
  6.     fi
  7. done

参考:
http://haka.sharera.com/blog/BlogTopic/21687.htm

http://linux.chinaunix.net/bbs/archiver/?tid-979112.html

Posted in Linux 命令, PHP, 技术.

Tagged with .


3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. ttplay says

    学习, 不过,既然文件不是临时的,还是不要放tmp下好.

  2. alanbob says

    我改完tmpwatch配置文件后,tmp目录下的文件还是被删除,不知道什么原因。-x排除删除某些目录和240小时我都更改了。也没有好用。不知道还有别的什么文件需要更改还是需要重启什么服务,望博主指点。谢谢!

  3. C1G says

    改完保存就可以了,你的情况我无法判断,查查crontab吧



Some HTML is OK

or, reply to this post via trackback.