linux 下tmp目录文件怎么被删除的?
来源:互联网 发布:一人一首网络成名曲 编辑:程序博客网 时间:2024/06/05 08:24
tmp目录下文件什么时候会删除?
写这篇文章是我要重启长时间运行的hadoop集群的时候,关闭不了相应的服务。查看shell脚本看到,要找到服务的pid文件,才能重启,一般情况下pid文件都会存储在tmp目录下,但是pid文件却不见了
为了保证tmp目录不爆满,系统默认情况下每日会处理一次tmp目录文件,原理就是使用了tmpwatch。
tmpwatch 作用
tmpwatch作用:removes files which haven’t been accessed for a period of time
删除指定的目录中一段时间未访问的文件。
tmpwatch 命令安装
如果不是完全安装,系统中一般不会有tmpwatch的命令,可以手动安装;
yum install tmpwatch
tmpwatch命令参数
语法
tmpwatch [-afqv][--test][超期时间][目录...]
一些tmpwatch参数
-u, --atime 基于访问时间来删除文件,默认的。-m, --mtime 基于修改时间来删除文件。-c, --ctime 基于创建时间来删除文件,对于目录,基于mtime。-M, --dirmtime 删除目录基于目录的修改时间而不是访问时间。-a, --all 删除所有的文件类型,不只是普通文件,符号链接和目录。-d, --nodirs 不尝试删除目录,即使是空目录。-d, --nosymlinks 不尝试删除符号链接。-f, --force 强制删除。-q, --quiet 只报告错误信息。-s, --fuser 如果文件已经是打开状态在删除前,尝试使用“定影”命令。默认不启用。-t, --test 仅作测试,并不真的删除文件或目录。-U, --exclude-user=user 不删除属于谁的文件。-v, --verbose 打印详细信息。-x, --exclude=path 排除路径,如果路径是一个目录,它包含的所有文件被排除了。如果路径不存在,它必须是一个绝对路径不包含符号链接。-X, --exclude-pattern=pattern 排除某规则下的路径。
如果系统中已经安装了tmpwatch,在/etc/cron.daily/目录下有一个tmpwatch脚本文件,我电脑中脚本文件的内容如下:
[root@bogon conf]# more /etc/cron.daily/tmpwatch #! /bin/shflags=-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/tmpfor d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 30d "$d" fidone
从代码中可看出,会删除tmp目录下10天未访问过的文件,同时从指定的目录中递归地搜索并删除指定目录中一段时间未访问的文件。
注:上面的脚本文件是每天的定时任务,如果想删除两小时内未被访问或者修改的文件,不能在这个脚本里面修改,因为这个脚本的执行周期1天。你可以直接使用如下命令去实现“删除 xxx 天没有被访问/修改过的文件”
tmpwatch 20 /tmp/
如果不写单位,默认是小时,上面是删除20小时没有被访问/修改过的文件。
tmpwatch给我们带来的问题?
系统中很多服务的pid的文件都会存放在/tmp目录下,从上面脚本文件可以看到系统会定期删除未被访问的文件,这样就会导致很多服务无法正常关闭等现象。
解决方法
可以使用-U参数,进行排除
-U, --exclude-user=user Don't remove files owned by user, which can be an user name or numeric user ID.
具体参数请使用man tmpwatch查看。
阅读全文
0 0
- linux 下tmp目录文件怎么被删除的?
- linux 开机自动删除/tmp目录下的文件
- Linux系统下/tmp目录下的临时文件怎么清理?
- Linux系统下/tmp目录下的临时文件清理
- linux定期删除tmp目录原理
- linux下删除文件目录
- 使用内存做Linux下的/tmp目录
- 用内存做Linux下的/tmp目录
- Linux的tmp目录会自动清理文件
- linux下递归删除目录下所有指定的文件
- Linux下调整/tmp目录大小
- linux /tmp 目录文件清理规则
- tmp目录下文件被删除
- SHELL 当前目录下 文件大于10K的 复制到/tmp目录下啊
- 在linux下删除的共享文件怎么恢复
- 怎么恢复linux下误删除的文件
- 删除目录下的文件
- linux 删除某个目录下所有的文件
- 类与实例
- #LightOJ 1422 Halloween奇怪的区间dp
- TP5.0中使用JSSDK(来源网络只作为个人笔记)
- 前端js小练习,动态生成乘法表
- 5-3 奥运排行榜 (25分)
- linux 下tmp目录文件怎么被删除的?
- Python学习笔记(一)-- 基础语法
- intellij idea下使用Maven搭建SpringMVC
- java编程思想笔记-并发之后台线程
- 卷积运算中5X5卷积模版的实现-verilog
- TCP/IP 概述
- java集合辅助类
- chromium之资源文件
- 剑指offer--和为S的连续正数序列