Linux tmp目录自动清理 及解决方法

Linux tmp目录自动清理 及解决方法,第1张

在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

1、定期对重要文件系统扫描,并作对比,分析那些文件经常读写

#ls–lR/home>files.txt

#diff filesold.txt files.txt

通过分析预测空间的增长情况,同时可以考虑对不经常读写的文件进行压缩,以减少占用空间。

2、查看空间满的文件系统的inodes消耗

#df -i/home

如果还有大量inode可用,说明大文件占用空间,否则是可能大量小文件占用空间。

3、找出占用空间较大的目录

查看/home占用的空间

#du -hs/home

查看/home下占用空间超过1000m

#du |awk '$1>2000'

4、找出占用空间较大的文件

#find /homesize+2000k

5、找出最近修改或创建的文件

先touch一个你想要的时间的文件如下:

# touch-t 08190800 test

#find/home -newer test -print

6、删除系统日志等

删除生成core,mbox等文件

#find/ -name core|xargs rm -rf

删除日志

#rm -rf/var/log/*

7、对分区做链接

在有空间的分区,对没有空间分区做链接

#ln -s /home/usr/home

8、找出耗费大量的空间的进程

根据不同的应用,找出对应的进程,分析原因

9、检查并修复文件系统

#fsck -y/home

10、重启机器

ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

发现好多npm相关的

查看进程

ps -eo rss,pid,user,command --sort -rss | grep npm

sudo kill -9 [pid]

卸载云镜命令

bash /usr/local/qcloud/YunJing/uninst.sh

卸载云监控命令 (barad_agent top中查看到的进程名称)

wget -qO- https://raw.githubusercontent.com/littleplus/TencentAgentRemove/master/remove.sh | bash

然后手动kill掉 barad_agent 对应的进程

rm -rf /usr/local/qcloud

清理页面缓存

echo 1 >/proc/sys/vm/drop_caches

清理目录缓存和inodes

echo 2 >/proc/sys/vm/drop_caches

清理pagecache、dentries和inodes

echo 3 >/proc/sys/vm/drop_caches

清理文件系统缓存和清理僵尸(zombie)对象和它们占用的内存

sync

free -h

优化前

优化后

会报错 No space left on device

查看磁盘使用情况使用 df命令 (英文全拼:disk free)

最常用的命令 df -h

使用du命令查看指定的目录或文件所占用的磁盘空间(英文全拼:disk usage)

优化后


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7189533.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-02
下一篇2023-04-02

发表评论

登录后才能评论

评论列表(0条)

    保存