Linux tmp目录自动清理 及解决方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux tmp目录自动清理 及解决方法相关的知识,希望对你有一定的参考价值。
参考技术A 在Linux系统中/tmp文件夹下的文件是会被清理、删除的,文件清理的规则是如何设定的呢?在root/tmp文件下
hdfs在启动的时候回去找pid文件
在pid文件被删除的时候,hdfs是不能被关掉的,如果在启动,他会又重新启动一个,但是不是之前的那个,所以会导致蒙圈了。
Linux在tmp命令 定期删除一些文件和文件夹 30天周期
mkdir /data/tmp
chmod -R 777 /data/tmp
export HADOOP_PID_DIR=/data/tmp
为了避免pid文件在tmp中被删除,重新建一个路径/data/tmp,并给他777权限 chmod -R 777 /data/tmp,把pid文件放在这里边就不会被删除了
配置参数的更改
参数:
-u 按照文件的最后access时间,即最后访问时间为参考。默认选项。可通过ls -lu查看。
-m 按照文件的最后modified时间,即最后修改时间为参考。可通过ls -l查看。
-c 按照文件的-ctime时间做参考,ctime更新的条件为写入、更改属主、权限。可通过ls -lc查看。
-M 按照目录的修改时间来删除目录而不是访问时间。
-a 删除所有类型文件。包括目录和symbolic links
-d --nodirs 排除目录文件,即使是空目录。
-d --nosysmlinks 排除symbolic links类型文件。
-f 强制删除那些root没有写权限的文件。比如root的readonly文件
-q 只报告错误信息。
-x /PATH 排除特定目录,即不删除该子目录里的文件。
-U user_name 排除属于特定用户的文件,即不删除该用户的文件。
-v 显示删除过程。默认是不显示删除了什么文件,直接删除的。
-t 用于测试,并不真正删除文件,能显示出要删除文件的过程。
-d 不删除文件里的子目录,但是子目录里面的文件还是会被删除。
参数后加时间,默认是hours。也可以使用30d表示30天,但是有些版本只支持hours。 时间后是要检查的目录。可以多个目录用空格分开。如下所示表示720小小时~=30天。
如果你想将强制删除30天没有访问的文件改为7天,只需"/usr/sbin/tmpwatch “f l a g s " 720 / v a r / t m p " 和 " / u s r / s b i n / t m p w a t c h " flags" 720 /var/tmp"和"/usr/sbin/tmpwatch "flags"720/var/tmp"和"/usr/sbin/tmpwatch"flags” -f 720 “$d” 里面的720改为189即可。
转自: https://blog.csdn.net/qq_43688472/article/details/87872293
不同linux发行版 对tmp目录的处理逻辑大全
今天因为kafka的日志清理问题被坑了
起因:
- kafka设置的默认log目录是tmp
- kafka配置了定期清理log
- linux的tmp机制, 导致了log被提前删除
- kafka删除log时, 由于log已经删除, 导致报出异常, 停止服务
在某些发行版里, tmp 目录原来只有在启动的时候才会被清理
- 在 Debian-like 的系统,启动的时候才会清理 (规则定义在 /etc/default/rcS )
- 在 RedHat-like 的系统,按文件存在时间定时清理 (RHEL6 规则定义在 /etc/cron.daily/tmpwatch ; RHEL7 以及 RedHat-like with systemd 规则定义在 /usr/lib/tmpfiles.d/tmp.conf , 通过 systemd-tmpfiles-clean.service 服务调用)
- 在 CentOS 里,是按文件存在时间清理的 (通过 crontab 的配置 /etc/cron.daily 定时执行 tmpwatch 来实现)
- 在 Gentoo 里也是启动清理,规则定义在 /etc/conf.d/bootmisc ,但 Gentoo 就是不走寻常路
以上是关于Linux tmp目录自动清理 及解决方法的主要内容,如果未能解决你的问题,请参考以下文章