tmpwatch让/tmp目录内的文件"离奇"消失

今天服务器上/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  仅作测试,并不真的删除文件或目录。

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

源文档 <http://blog.c1gstudio.com/archives/600>

要解决Linux中`/tmp`目录下的文件不被清理的问题,可以尝试以下方法: 1. 检查`/etc/default/rcS`文件中的`TMPTIME`设置。确保`TMPTIME`的值不是`0`,而是一个正整数。如果将其设置为`0`,则会禁用对`/tmp`目录的定期清理。你可以使用文本编辑器打开该文件并进行修改。 2. 检查`/etc/cron.daily/tmpwatch`脚本。该脚本负责每天清理`/tmp`目录中的过期文件。确保该脚本存在并且没有被修改。你可以使用以下命令检查脚本是否存在: ```bash ls -l /etc/cron.daily/tmpwatch ``` 如果脚本不存在,可以尝试重新安装`tmpwatch`软件包,以确保其正确安装。 3. 检查`/etc/tmpfiles.d/tmp.conf`文件。该文件定义了在系统引导时清理`/tmp`目录的规则。确保该文件存在并且没有被修改。你可以使用以下命令检查文件是否存在: ```bash ls -l /etc/tmpfiles.d/tmp.conf ``` 如果文件不存在,可以尝试重新安装`tmpfiles.d`软件包。 4. 检查定时任务是否正常运行。使用以下命令查看定时任务的状态: ```bash systemctl status systemd-tmpfiles-clean.timer ``` 如果定时任务未运行,请使用以下命令启动它: ```bash systemctl start systemd-tmpfiles-clean.timer ``` 然后,使用以下命令查看定时任务是否已启动: ```bash systemctl status systemd-tmpfiles-clean.timer ``` 如果定时任务已启动,但问题仍然存在,可以尝试重新加载定时任务: ```bash systemctl reload systemd-tmpfiles-clean.timer ``` 请注意,根据你使用的Linux发行版和版本,可能会有一些细微差异。上述方法适用于大多数常见的Linux发行版,但具体步骤可能会有所不同。建议在执行任何修改前备份重要文件,并谨慎操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值