今天服务器上/tmp下的php上传目录upload又没了,不是第一次了,郁闷的很
google下后找到原因,原来是tmpwath干的好事。
cat /etc/cron.daily/tmpwatch
tmpwatch 文件内容
/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
/usr/sbin/tmpwatch 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d “$d” ]; then
/usr/sbin/tmpwatch -f 720 $d
fi
done
系统每天会用tmpwatch命令检查并删除 /tmp 下超过240小时未访问过的文件和目录
tmpwatch简介
功能说明:删除暂存文件。
语 法:tmpwatch [-afqv][–test][超期时间][目录…]
补充说明:执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。
参 数:
-a或–all 删除任何类型的文件。
-f或–force 强制删除文件或目录,其效果类似rm指令的”-f”参数。
-q或–quiet 不显示指令执行过程。
-v或–verbose 详细显示指令执行过程。
-test 仅作测试,并不真的删除文件或目录。
php.ini中设置
#临时文件的上传目录
upload_tmp_dir = “/tmp/upload”
#session 分采用分级目录
session.save_path = “1;/tmp/session”
; 4 bits: 0-9, a-f
; 5 bits: 0-9, a-v
; 6 bits: 0-9, a-z, A-Z, “-“, “,”
session.hash_bits_per_character = 4
解决方法
-x 可以排除删除某些目录
-d 可以不删除空目录
/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
/usr/sbin/tmpwatch 720 /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d “$d” ]; then
/usr/sbin/tmpwatch -f 720 $d
fi
done
参考:
http://haka.sharera.com/blog/BlogTopic/21687.htm
http://linux.chinaunix.net/bbs/archiver/?tid-979112.html
学习, 不过,既然文件不是临时的,还是不要放tmp下好.
我改完tmpwatch配置文件后,tmp目录下的文件还是被删除,不知道什么原因。-x排除删除某些目录和240小时我都更改了。也没有好用。不知道还有别的什么文件需要更改还是需要重启什么服务,望博主指点。谢谢!
改完保存就可以了,你的情况我无法判断,查查crontab吧